python打包成exe
需求
把py文件转换成一个带参数的exe
此py包含其他的包(如下面例子的imageio)
步骤
1.安装pyinstaller,可参考安装pyinstaller
2.生成一个带参数的py
###一个带参数的test.py文件
import sys
import imageio # imageio为打包时需要引用的包
arg0 = sys.argv[0] # 为打包的exe
arg1 = sys.argv[1] #为exe在cmd运行的第一个参数
arg2 = sys.argv[2] #为exe在cmd运行的第二个参数
print(arg0)
print(arg1)
print(arg2)
3.找到外部包(imageio)的位置
!!!如果不进行此步,运行exe会报找不到包的错
对于conda安装的包来说,该外部包的路径一般在
4.运行pyinstaller的安装命令
注:如果没有外部包,可以不用进行步骤3,直接运行
pyinstaller -F xxx.py
如果有外部包的情况下(加上-p【小写的p】参数)
pyinstaller -F -p C:\software\anaconda3\pkgs\imageio-2.6.1-py37_0\Lib\site-packages XX.py
如果有多个包,则以;分隔外部包的路径
pyinstaller -F -p E:\python\Lib\site-packages;E:\python\Lib\site-packages XXX.py
5.在cmd测试
运行cmd命令测试
XX.exe arg1 arg2