返回顶部
首页 > 资讯 > 后端开发 > Python >Python打包Exe程序需要避的坑有哪些
  • 779
分享到

Python打包Exe程序需要避的坑有哪些

2023-06-15 13:06:18 779人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python打包Exe程序需要避的坑有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。写完一个Python程序之后,如何才能快速地将代码分享给别人,尤其对于初学者来说,能把自

python打包Exe程序需要避的坑有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

写完一个Python程序之后,如何才能快速地将代码分享给别人,尤其对于初学者来说,能把自己的代码包装成一个exe程序并传递到别人电脑上运行,那是一件非常有成就感的事。好在python自带简易打包程序,让很多人能过一把当程序员的瘾。目前流行的打包库就有py2exe、pyinstaller和cx_Freeze。

但python的运行环境复杂,编写的程序往往是借助了很多附加的功能库来实现,对简单的打包会造成一定困难。本人也是在经历了多次的打包失败和成功的经历之后,觉得pyinstaller的成功率最高,所以有必要针对pyinstaller写一篇避坑指南。

一、安装

使用python的pip安装,在cmd窗口,使用pip install pyinstaller,即安装完成。然后配置好环境变量。

二、使用

例如在程序6.py所在文件夹打开cmd窗口。一般输入pyintaller -F  **.py(命令符的具体含义在下文中解释),回车即开始打包。顺利的话,会出现打包成功的反馈,如下图,这时,就说明文件已经打包完成了。dist文件夹里面就放着打包完的exe程序,使用时剪切出来就行了。如果运气好或者本身程序比较简单,那这个exe就能在任何电脑运行了。

Python打包Exe程序需要避的坑有哪些

但往往没这么容易,pyinstaller在使用中有很多坑,打包的开始,也是修补的开始。

三、遇坑填坑

1.文件路径中不能出现中文

否则会在打包过程中直接出现如下报错。这时只要把所在文件夹和程序名字改成英文或者数字重新打包即可。可以打包完再将exe的名字改回来。

Python打包Exe程序需要避的坑有哪些

2.缺少导入hook文件

有时即使打包成功了,在运行exe时候,还是会有报错并闪退。

如果报错为:FileNotFoundError: [Errno 2] No such file or directory:……

那是缺少hook文件,要在pyinstaller的安装路径里的hook增加一个自定义的hook。hook文件的命名规范为:  hook-【库名】.py。例如以我在打包程序中用了结巴分词这个功能库为例,那我要建立一个hook-jieba.py,并写入:

from PyInstaller.utils.hooks import collect_data_files datas = collect_data_files("jieba")

然后放到~\Lib\site-packages\PyInstaller\hooks中去,再次运行pyinstaller打包既可解决该问题。

3.缺少导入功能库模块

如果报错为 no moduler named  “pandas._libs.skiplist”,那就要手动import库,解决方法打开生成的spec文件,找到  hiddenimports=[],加上要添加的库,将其改动如下,hiddenimports=["pandas._libs.skiplist"],然后删除dist里面的exe文件,重新用spec文件打包,pyinstaller  **.spec。即可解决该问题。

Python打包Exe程序需要避的坑有哪些

四、花式打包

涉及到打包的几个重要参数如下。

  • -F,将所有内容打包到一个exe中,方便发送,一般都使用这个参数。

  • -c,此为windows系统的默认选项,使用这个参数,运行时会有一个黑窗控制台。

  • -w,使用这个参数,运行时不会出现黑窗控制台。

  • -i 使用这个参数用于生成自定义图标的exe,在这后面要加上ico图片的地址。例如,pyinstaller -i D:\icons\demo.ico  **.py

将程序打包成exe发送出去或者供用户下载,是一个比较传统的传播方式,并且比较笨重,其实用简单的H5或者小程序就能实现一样的效果,对用户而言也更方便,也是朝着轻应用的方向发展。此外,对于专业用户还能通过GitHubapi等方式传播。随着网络观念的深入人心和5G时代到来,相信有更好的方式能更安全、快捷、私密地将工具的功能传递给所需要的用户。

看完上述内容,你们掌握Python打包Exe程序需要避的坑有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: Python打包Exe程序需要避的坑有哪些

本文链接: https://lsjlt.com/news/280273.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python打包Exe程序需要避的坑有哪些
    Python打包Exe程序需要避的坑有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。写完一个python程序之后,如何才能快速地将代码分享给别人,尤其对于初学者来说,能把自...
    99+
    2023-06-15
  • 小程序设计中需要避开的坑有哪些
    这篇文章主要介绍了小程序设计中需要避开的坑有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇小程序设计中需要避开的坑有哪些文章都会有所收获,下面我们一起来看看吧。一、设计稿最好用二倍图UI设计师都喜欢用一倍图...
    99+
    2023-06-27
  • Python打包exe程序怎么避免出错
    这篇文章主要讲解了“Python打包exe程序怎么避免出错”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python打包exe程序怎么避免出错”吧!写完一个python程序之后,如何才能快速...
    99+
    2023-06-15
  • Java 打包 NumPy 和 Django 的坑点有哪些需要注意?
    在 Java 开发中,我们常常需要将 Python 库打包到 Java 项目中。本文将重点讲解在 Java 项目中打包 NumPy 和 Django 库时需要注意的坑点。 NumPy 库的打包 NumPy 是 Python 中用于科学...
    99+
    2023-09-04
    打包 numy django
  • python打包成exe的方式有哪些
    本篇内容主要讲解“python打包成exe的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python打包成exe的方式有哪些”吧!python 上常见的打包方式目是通过 pyinst...
    99+
    2023-06-25
  • python多进程程序打包成exe的问题
    粘贴一下部分的多进程代码 if __name__ == '__main__': """"流程模拟""" multiprocessing.freeze_support(...
    99+
    2022-12-25
    将Python程序打包成exe Python打包exe文件方法汇总 实现python整个项目打包成exe
  • Vue3需要避免的错误有哪些
    使用Reactive声明原始值数据声明在过去都是非常直接的,但是现在有很多帮助函数供我们使用。目前的规则是:使用reactive声明Object, Array, Map, Set使用ref声明String, Number, Boolean为...
    99+
    2023-05-15
    Vue3
  • 存储方面,Java 和 JavaScript 有哪些常见的坑点需要避免?
    在软件开发中,存储是一个非常重要的方面。在使用Java和JavaScript进行开发时,存在许多常见的存储坑点,需要我们避免。在本文中,我们将介绍Java和JavaScript中存在的一些常见的存储坑点,并提供相应的解决方案。 一、Java...
    99+
    2023-08-05
    存储 面试 javascript
  • 微信小程序开发中需要注意哪些坑
    这篇文章主要介绍了微信小程序开发中需要注意哪些坑,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。“免费”易中坑现在随便在互联网平台搜索小程序开发都有需要打着免费开发的旗号来吸引...
    99+
    2023-06-27
  • Java路径打包有哪些需要注意的问题?
    Java作为一种常用的编程语言,经常需要进行打包操作。在进行Java路径打包时,需要注意一些问题,以确保打包后的程序能够正常运行。下面将介绍一些Java路径打包需要注意的问题。 打包时需要注意的文件 在进行Java路径打包时,需要注意哪...
    99+
    2023-08-22
    path 打包 索引
  • Python 打包 NumPy 编程算法:你需要注意哪些细节?
    NumPy 是 Python 的一个重要扩展库,它提供了高性能的多维数组对象和相关工具,可以用来进行快速的数值计算。在 Python 中,很多机器学习和深度学习的库都依赖于 NumPy,因此打包 NumPy 编程算法是很重要的一步。本文将...
    99+
    2023-06-30
    打包 numy 编程算法
  • 打造商城小程序需要满足哪些要求
    这篇文章主要介绍“打造商城小程序需要满足哪些要求”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“打造商城小程序需要满足哪些要求”文章能帮助大家解决问题。  打造商城小程序需要满足什么要求  1、全方位...
    99+
    2023-06-26
  • Python打包exe时各种异常处理方案有哪些
    这篇文章主要介绍Python打包exe时各种异常处理方案有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异常:You are using pip version ...
    99+
    2023-06-15
  • ASP IDE打包加载过程中有哪些需要注意的问题?
    当我们在开发ASP应用程序时,常常需要打包和加载程序。这个过程中,有一些细节需要注意,否则会导致程序无法正常运行。本文将介绍ASP IDE打包加载过程中的一些需要注意的问题,并附带演示代码。 打包过程中需要排除哪些文件? 在ASP I...
    99+
    2023-08-21
    ide load 打包
  • 如何在 Python 中正确使用索引和打包功能?有哪些常见错误需要避免?
    Python 是一种高级编程语言,广泛应用于各种领域。其中,索引和打包功能是 Python 中常用的两种操作。正确使用这两个功能可以提高代码的效率和可读性。但是,如果使用不当,会导致程序出错或产生不必要的麻烦。本文将介绍如何在 Python...
    99+
    2023-10-08
    关键字 打包 索引
  • 小程序开发需要的技术有哪些
    这篇文章给大家分享的是有关小程序开发需要的技术有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信成为一种生活方式的目标已经实现,可以说微信已是移动互联网中的独立生态王国,现在微信要借小程序收割线下的流量!无...
    99+
    2023-06-15
  • 用Python编程需要的软件有哪些
    本篇内容介绍了“用Python编程需要的软件有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、终端:UptermUpterm简单好用,...
    99+
    2023-06-15
  • python将写好的程序打包成exe可执行文件
    目录1、安装pyinstaller2、使用pyinstaller 打包程序2.1 开始打包2.2 查收exe文件前言: 首先 如果你的python是64位的编译器,那么打包的结果就只...
    99+
    2024-04-02
  • 从Python异步编程到Linux应用程序打包:这里有你需要的一切
    Python是一种非常流行的编程语言,而Python异步编程和Linux应用程序打包是Python开发中的两个重要领域。在本文中,我们将从Python异步编程开始,一步步向您介绍如何将Python应用程序打包成Linux应用程序。 一、Py...
    99+
    2023-09-05
    linux 异步编程 打包
  • PHP 和 NPM 的函数打包,有哪些需要注意的事项?
    在 PHP 和 NPM 中,函数打包是一种非常常见的技术。它可以将多个函数打包到一个文件中,以便于组织和管理。但是,在进行函数打包时,需要注意以下几个事项,以避免出现意外的错误。 命名空间的问题 在 PHP 中,如果你将多个函数打包到...
    99+
    2023-09-12
    npm 函数 打包
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作