将Python代码打包成exe可执行文件
1、exe打包
> pip install pyinstaller
注意事项:
- 支持mac、win(win建议使用python3.6.8)
- 配合虚拟环境打包。
1、在mac系统上开发(为他这个程序创建一个虚拟环境)
2、开发…
3、开发完毕后
pip freeze > requirements.txt
4、打开win虚拟机
5、创建虚拟环境
6、安装项目依赖
pip install -r requirements.txt
7、安装pyinstaller
pyinstaller -F xxxxx
1.1多文件
pyinstaller -D 打包的.py文件
报错:在终端运行
1.2打包-单文件
> pyinstaller -F 打包的.py文件
> pyinstaller -F 打包的.py文件 -n 新名字
1.3 路径问题
- 多文件打包:无问题
- 单文件打包:报错 解析到临时文件
方法一:基于sys.argv
BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
方法二:frozen
import sys
if getattr(sys, 'frozen',False):
print('running in a PyInstaller bundle')
else:
print('running in a normal Python process')
1、4关于模块
模块关联都会打包,但是,如果遇到那种动态导入模块的代码时,它是无法找到
解决办法:在.spac文件中加入包