python项目打包成exe文件
将python项目打包成exe文件来执行, 可以支持命令行启动及传参.
打包
安装pyinstaller
要注意版本问题要注意版本问题, 使用对应的python版本的pip安装pyinstaller
也可以通过源码安装
pip install pyinstaller
配置环境变量
通过pip安装的pyinstaller, 在python27或py36目录下的sccipts目录下(和pip在同一目录), 环境变量应该在安装python的时候就配置过了,否则也用不了pip.
通过源码安装的就需要把pyinstaller.exe所在的文件夹添加到环境变量中.添加环境变量的方法就不啰嗦了.
生成exe文件
<1>进入python执行文件或者项目启动文件(为了后面方便描述, 假设为run.py)所在的目录
<2>shift+右键打开shell的蓝色窗口或者通过黑窗口cd过去
<3>执行命令
pyinstaller -F -w run.py
<4> 进程查看文件
<3>执行命令后会在启动文件所在目录下出现一个dist文件夹
在dist文件夹内会有启动文件同名的.exe文件run.exe
run.exe是可以通过双击独立运行的可执行程序
传参
<1>使启动文件支持命令行方式传参
import sys
import requests
def main(path):
resp = requests.get("http://ww.baidu.com")
with open(path, "w", encoding="utf-8") as f:
f.write(resp.text)
if __name__ == '__main__':
path = sys.argv[1]
main(path)
<2>执行
通过命令行启动执行文件run.exe
<2.1>可以把run.exe丢到配置了环境变量的文件夹
也可以在run.exe所在目录右键打开shell懒窗口
也可以通过黑窗口cd到run.exe所在目录
<2.2>执行命令
run.exe 参数1 参数2
异常
- 可以生成文件, 但是执行的时候有错误
failed to excute…
这一般是由于三方库异常引起的, 例如:
“matplotlib_init_.py”, line 563, in _get_data_path
是由于安装了matplotlib三方库, 在初始化文件路径的时候出现问题,
更深层次的原因有待大神指点, 我果断把matplotlib卸载掉就ok了
执行命令pip uninstall matplotlib
再按照正常步骤进行打包即可.
将debug打包后的文件夹再次打包成安装文件
https://blog.csdn.net/qq_35905572/article/details/90524181
- 出现导包错误
由于在项目中使用了自定义的包, 打包后的exe文件找不到.
在打包的时候添加参数 -p 项目路径