Python打包方法——Pyinstaller

Python打包方法——Pyinstaller,第1张

概述Python版本:Python3.8一、安装Pyinstaller1、安装pywin32下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 使用pip命令安装:pipinstallpywin322、安装Pyinstaller下载安装文件安装:官网使用pip命令安装:pipinstal Python版本:Python3.8一、安装Pyinstaller1、安装pywin32下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 使用pip命令安装:pip install pywin322、安装Pyinstaller下载安装文件安装:官网使用pip命令安装:pip install PyInstaller二、使用Pyinstaller1、使用下载安装的方式安装的Pyinstaller打包方式

将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):

python pyinstaller.py -F myfile.py2、使用pip方式安装的Pyinstaller打包方式

打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):

pyinstaller -F myfile.py    3、输入参数的含义-F 表示生成单个可执行文件-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!-p 表示你自己自定义需要加载的类路径,一般情况下用不到-i 表示可执行文件的图标

打包exe文件:

      如果是打包一个py文件,可以使用“pyinstaller -F 待打包文件名”进行打包,在命令执行完毕后,会在dist目录下生成一个“待打包文件名.exe”的文件。如果不使用“-F”参数,则会在dist目录下生成一个“待打包文件名”的文件夹,该文件夹下包含“待打包文件.exe”,但是要整个文件夹在一起才能正常工作,因为这个文件夹的功能相当于使用“-F”时的一个“待打包文件.exe”。

       使用“F”强制打包参数,有时会导致软件功能运行不正常,仅限于小的范例使用,如果项目有多个py文件,则建议别再使用“F”参数。

      如果项目有多个文件,打包时可以把多个文件列出来,中间用空格隔开即可。

      如果需要修改默认图标为指定图标,则使用“-i  图标文件名”来实现。如:pytinstall -i XXX.ico run.py test1.py test2.py test3.py

  如一个项目下有多个子文件,子文件里面又有py文件或配置文件,打包方法参考:1、把启动文件放在和文件夹一个目录。 2、pyinstaller -D 启动文件 3、这时候会生成buID和dist dist应该是空的 但是会多出一个启动文件名.spec 4、在.spec文件里写上 import sys sys.setrecursionlimit(100000) block_cipher = None 5、pyinstaller 启动文件名.spec 6、这时候dist文件夹里就有启动文件.exe程序了 如果没有其他错误i应该就可以执行了。(没试过)

 pyinstaller的参数见下表,大家可以在需要时参考。

 

 

三、注意事项文件中使用了第三方库的打包方式

在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。

下面演示一下使用了第三方库的打包方式:

找到第三方库的包,如使用了requests,可以使用查找的方式,找到这个包在哪里,然后把它复制到myfile.py同目录下

把包文件复制到myfile.py目录下

 

给程序换图标的方法输入命令中添加一个-i tubiao.ico(图标的相对路径)。如图:

四、exe文件生成如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了。

    

总结

以上是内存溢出为你收集整理的Python打包方法——Pyinstaller全部内容,希望文章能够帮你解决Python打包方法——Pyinstaller所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存