- 想要打包成windows下运行的exe,必须在windows环境下打包,如果在虚拟机的ubuntu环境下打包也只能运行在linux系统里。
- 想要exe运行在32位的系统里,必须使用32位的python和环境打包,如果运行在64位的系统里,无所谓用32位python还是64位。
- 使用命令 pyinstaller -F my.py, -F参数使只生成一个exe(将所有库打包在一起);该命令运行时会在当前路径下生成一个.spec的文本文件
- pyinstaller命令进行过程中,可能遇到py32win之类的错误,千万不要放过任何一个错误,即使最后显示successful,少了py32win可以直接pip install py32win.
- 如果打包完成后双击运行时,出现闪退,多半是因为程序刚运行就出bug了,所以自动退出了,这个时候可以使用命令行运行该exe,这样可以看到问题所在
- 如果遇到问题:
ModuleNotFoundError: No module named 'pywt._extensions._cwt'
可以在运行pyinstaller命令生成的.spec文件中的hiddenimports列表里加上"pywt","pywt._extensions._cwt":
hiddenimports=["pywt","pywt._extensions._cwt"]
然后再运行:
pyinstaller my.spec
- 如果遇到问题