Windows
先安装virtualenv。终端输入
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper
然后新建一个目录,终端cd到这个目录
cd DIR # DIR=目录名
virtualenv ENVNAME # ENVNAME=虚拟环境名称
.\ENVNAME\Scripts\activate # 激活虚拟环境
之后终端提示符将变更显示类似为
(ENVNAME) PS C:\dir_name> # (ENVNAME)为虚拟环境名称。
注:退出虚拟环境命令是deactivate #
安装pyinstaller v5.1
打开cmd窗口,命令行输入
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller==5.1
更高的版本会有DLL load failed报错
如果已经安装更高版本了,用上述命令重新安装一遍5.1
继续安装所需的依赖包,比如pyqt5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5
然后把py文件,和ico文件一起
放到文件夹,
然后在cmd窗口输入
pyinstaller -F -w -i xxxx.ico xxxx.py
等着跑完出现“xxxxx INFO: Building EXE from xxxxxx.toc completed successfully.”
这就表示成功了,在那个文件夹\dist里面有给exe就是打包好的文件
MacOS
安装virtualenv
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
建立新目录,终端cd到这个目录
cd DIR # DIR=目录名
virtualenv ENVNAME # ENVNAME=虚拟环境名称
source ./ENVNAME/bin/activate # 激活虚拟环境
之后终端提示符将变更显示类似为
(ENVNAME)user@computer_name DIR % # (ENVNAME)为虚拟环境名称。
注:退出虚拟环境命令是deactivate #
在虚拟环境中安装pyinstall
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller==5.9
然后安装自己程序的依赖包比如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5
把py文件和ico文件放里面,终端输入
sudo pyinstaller --onefile --windowed --osx-bundle-identifier 'YOURNAME' --icon xxxx.icns --name xxxx xxxx.py
等待片刻,出现xxxxx INFO: Building BUNDLE xxxxxxxx.toc completed successfully.
表示成功。打开文件夹/dist/ 里面有个带icon的app
右键点“显示包内容”-Contents, 用文本编辑打开Info.plist,找到
<key>CFBundleShortVersionString</key>
<string>0.0.0</string>
改一下版本号,保存退出