Python教程

Python打包方法——Pyinstaller

本文主要是介绍Python打包方法——Pyinstaller,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!