py2exe,pyinstaller的应用

一、安装及基本操作

Pyinstaller可以使用pip安装,在命令行下输入下面这行就可以了。

pip install pyinstaller

如果下载安装包,那么要注意下载相应的win32/64版本,建议所有的程序都统一成32位或是64位版本,这样会减少很多问题。

安装完毕之后,就可以通过以下命令打包了

先转到主脚本所在的地址,例如:

cd E:\plane

然后执行如下命令:

pyinstaller main.py -F

其中start.py为主脚本,主脚本中调用的模块文件会被自动打包。第三个参数是操作命令,常用的命令有

-F 打包成单个文件
-D 打包成单个文件夹形式

扫描二维码关注公众号,回复: 4042519 查看本文章

-c 控制台模式,执行程序会跳出控制台,
-w 窗口模式,不会跳出控制台
基础的命令就这些,程序名和图标等建议在spec文件中设置。

二、文件调用(音频,图片等)
把需要用的图片和音乐放在同一个目录下
注意py文件中所有图片、音乐等都必须是绝对路径或者用函数把相对路径转换为绝对路径

首先在脚本定义一个读取相对路径的函数:

复制代码
1 Import os
2 Import sys
3
4 def resource_path(relative_path):
5 “”"
6 定义一个读取相对路径的函数
7 “”"
8 if hasattr(sys, “_MEIPASS”):
9 base_path = sys._MEIPASS
10 else:
11 base_path = os.path.abspath(".")
12 return os.path.join(base_path, relative_path)
复制代码

然后在需要调用文件的地方用如下格式包裹:

resource_path(‘res/aap.ico’)

三、添加图标

在执行打包命令时加入下面这句:

–icon=xxx.ico

xxx.ico 为你要设置的图标文件,其他格式需要转换成ico格式,可在这里在线转换。

(图标文件要放在程序根目录下)

四、其他

64位windows上打包的程序不能在32位上运行,反之却可以。
每次更改完代码或是spec文件,只需要再重新执行一下pyinsyaller start.spec -F就可以了
如果不想要cmd的黑框出现,可以把main.spec中的console=True 改为console=False
然后 pyinstaller 文件名.spec
到 xxx-EXE.dot completed successfully 就修改成功了
五、替代品

如果pyinstaller没有解决你的问题,那么你可以尝试一下下面这两个替代品:

py2exe

cx_Freeze

猜你喜欢

转载自blog.csdn.net/qq_43014129/article/details/83003031