码迷,mamicode.com
首页 > 编程语言 > 详细

Python打包方法——Pyinstaller

时间:2021-06-05 17:35:58      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:www   错误   oom   lock   问题   失败   控制   解压   lib   

Python版本:Python3.8

一、安装Pyinstaller

1、安装pywin32

    • 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 

    • 使用pip命令安装:pip install pywin32

2、安装Pyinstaller

    • 下载安装文件安装:官网

    • 使用pip命令安装:pip install PyInstaller

二、使用Pyinstaller

1、使用下载安装的方式安装的Pyinstaller打包方式

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

    • python pyinstaller.py -F myfile.py

2、使用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

标签:www   错误   oom   lock   问题   失败   控制   解压   lib   

原文地址:https://www.cnblogs.com/loveMessi/p/14850746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!