python2:
python2.7直接安装pyinstaller会报错,版本4与python2不兼容,所以我们安装时需指定兼容的pyinstaller版本号。安装命令如下:
pip install pyinstaller==3.2.1
py2exe 安装命令
pip install py2exe==0.6.9
打包命令:
比如test.py
里面装的是入口函数
Pyinstaller -F test.py
=> 打包exe, Pyinstaller -F -w test.py
=> 不带控制台的打包, Pyinstaller -F -i xx.ico test.py
=>打包指定exe图标打包平常我们只需要这三个就好了,足够满足所有需求了。
运行出错的问题
- sys.path.append的问题
有一种情况一定会出现pycharm运行没问题, 打包exe出错, 那就是
我们使用sys.path.append()
添加一个文件夹到sys.modules
中, 然后用该文件夹中的文件.
文件结构
C:\test1
mian.py
C:\test2
tools.py
错误流程:
tools.py中 import time, 而main.py中没有import
在main中通过
sys.path.append(r'C:\test2')
import tools
这样, 打包执行必然出错.
解决方法:
我们需要把tools文件中import 的modules在main中也要全部import一遍才行, 就像下面这样
import time
sys.path.append(r'C:\test2')
import tools
这种情况下pycharm直接跑没问题, 如果打包成exe, 那么就会有问题
- 文件夹路径的问题
pycharm和exe中获取文件夹路径的方法不一样
# exe中获取文件所在目录
os.path.dirname(os.path.realpath(sys.executable))
# pycharm中获取文件所在文件目录
os.path.dirname(os.path.abspath(__file__))