步骤:
1、使用此文程序编译激唤首python源程序为pyd
链接: https://www.jianshu.com/p/4465cf9283b6
2、编写入口py文件,调用pyd模块
注意点:
1、由于pyinstaller不会导入pyd程序依赖包,所以需要将pyd程序依赖包在入口py文件中导入一次,避免打包exe时pyd无法使用
2、打包exe后,路径有所变化,pyd中路径需使用绝对明数路径
3、pyd文件不要写入口调用,if main等,在入口py文件中导包及调用相关函数
优点:脱离python环境,包依赖
缺点:文件较大
步骤:
1、将入口py文件打包为exe可执行程序,会自动导入pyd文件并进行封装
注意点:
1、打包exe后,cmd下运行程序,看是否有错误输出,按提示解决相应链岩问题即可
2. 使用PyInstaller打包Python程序
PyInstaller是一个用来将Python程序打包成独立可执行软件的工具,支持 Windows、linux 和 Mac OS X。生成的可执行软件在没有Python的环境中可以直接运行,方便软件分发,进一步降低使用成本,提升使用效率。
下面演示如何使用 PyInstaller 将程序打包成Windows下的exe软件。
使用pip的方式进行安装,这样可以自动安装其他依赖库。
如果pip还未安装,请参考我的另一篇文章《 Python pip包管理工具 》
在cmd命令行控制台或者VS Code内置的终端输入命令行生成应用,首先将当前路径切换到Python程序所在的路径(如下示例的SubOcr.py文件在python文件夹下的SubOcr文件夹内),然后输入生成应用的命令。
命令执行成功后在 I:workpythonSubOcrdist 文件夹下生成了SubOcr文件夹,里面包含了SubOcr.exe文件。整个SubOcr文件夹就是一个绿色软件,随便移动到任何位置都可运行。
实际上在用pyinstaller命令时会在Python程序的所在路径生成一个后缀为spec的同名文件,然后根据此文件的配置生成应用,这就是PyInstaller的原理。这样做的好处是spec保存了生成应用的配置,每次重新生成应用时可以省略指定参数,尤其是指定了其他的资源、程序库时。我们可以通过以下命令先生成spec文件。
pyi-makespec的命令参数跟pyinstaller的相同,在生成spec文件后可以对其部分选项进行编辑(可以用VS Code或自带的记事本编辑),添加更多参数,然后再用pyinstaller命令生成应用。
spec文件的主要选项:
上面示例的SubOcr用到了opencc和opencv-python,其中opencc下的数据文件和opencv-python下的dll文件在生成应用时不会自动导入(缺少这些文件应用无法正常使用),因此需要在spec文件中指定路径。对spec文件的修改如下:
以上便是PyInstaller打包Python程序的全过程,如果在此过程中遇到问题,可以在评论区留言,定当知无不言,言无不尽。
3. python打包最快的模块
python打包逗州最快的模块有PyInstaller,Nuitka。
1、PyInstaller:PyInstaller是一个功能强大的打包工具,能够轻松地中喊将Python脚本打包成独立的可执行文件。它支持多平台交叉打包,能够处理各种卖指野复杂情况,打包速度相较于其他打包工具很快。
2、Nuitka:Nuitka是一个基于C++编写的Python编译器,可以将Python代码转换为高性能的本地机器码,并将其打包为真正的可执行文件。与其他打包工具不同,它将Python代码直接编译成机器码,从而实现更快的执行速度和更小的文件大小。因此,打包速度也会比其他打包工具略快。
4. python可视化编程、打包exe(pycharm)
python3安装指令: pip install PyQt5
python2安装指令: pip install python-qt5
添加扩展插件:File-->setting-->Tools-->External Tools,如下图:
网上教程有很多,有不一样的,但是宗旨都是用把 .ui 文件用指令编核扮译成 .py 文件。不一样的无非就是路径的写法,指令的写法不同。
比如方法二:
不熟悉python的坑:
这个命令是把资源文件.qrc转换为.py文件。命令:pyrcc5 -o xxx.qrc xxx.py
Arguments这边我就不误导大家了,详细的可以网上自行搜索pyinstaller。这里简单说下我这里面的意思,因为我的工程入口文件是Main.py。-F(大写)就是打包成可执行文件exe -w 程序运行时不显示命令改凯灶行窗口 -i 是给你的可执行程序加个图标。 tool.icon是我工程这个图标的资源名。这个资源位置和入口文件同级别。
在打包过程中可能遇到孙乱的 坑 ,但愿你们没遇到:
5. 将python打包成exe
return 应该放在一个函数里面的,
将python打包成exe的程序有很多,比如py2exe、PyInstaller等等,但是到目前为止,它们对python3.1支持的都不好,所以这里我要介绍一下cx_freeze 4.2.2,它还能支持跨平台,可以在windows和linux运行。
cx_freeze的下载网址为 http://sourceforge.net/projects/cx-freeze/files/ ,要根据已安装的python版本进行选择。比如我使用的是python3.1,所以就要下载cx_Freeze-4.2.2.win32-py3.1.msi这个文件。运行这个安装包后,相关程序就会被拷贝到python的目录下。主要在两个地方,一个是C:/Python31/Scripts,另一个是C:/Python31/Lib/site-packages/cx_Freeze
在以前版本的cx_Freeze中,是通过FreezePython.py这个脚本将py转换为exe,而在4.2.2这个版本中,FreezePython.py已经不见了,主要的工作交给了C:/Python31/Scripts下的cxfreeze.bat来完成。
使用cx_Freeze完成python打包exe主要有两种方法:
第一种,直接运行cxfreeze.bat通过:
先进入cmd命令行,进入C:/Python31/Scripts目录,然后运行cxfreeze.bat -h 就可以看到它的使用说明了。我们可以用cx_freeze自己的sample做个试验。
进入到c:/python31/scripts/下,运行
cxfreeze C:/Python31/Lib/site-packages/cx_Freeze/samples/PyQt4/PyQt4app.py --install-dir=d:/123
pytqt4app.py就会被打包成exe,并且它所用到的库文件,也被一并考到了d:/123目录下。
6. 如何将一整个python工程打包
打包成可执行文件的话,py2exe是不行的,看名字就知道,那是打包python2的,它不支持python3,用pyinstaller可以打包python3,教程也很简单,搜下一行命令就能打包了。
7. Python3.5如何打包编译
python3.5怎么打包编译
问题:用Python开发的小工具有时需要编译打包为Windows(*.exe)、Mac等操作系统下的可执行性文件以供非程序员使用。
解决方案:
一、py2exe
目前只支持到Python3.4,暂不支持Python3.5
相关推荐:《Python视频教程》
二、PyInstaller
安装:
直接安装:
pip install pyinstaller
下载源码包,然后进入包目录,用命令安装
python setup.py install
使用:
进入cmd窗口
进入需要打包的程序目录
输入:pyinstaller + 需要打包的程序(*.py)名称
发布命令:
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹
Error:failed to create process
编译时,出现“failed to create process”错误。
解决方法是打开pyinstaller-script.py,把第一行的路径用引号括起来,最终是下面这个样子就对了
#!"c:program filespython35-32python.exe"