Python

python程序打包(windows/mac os)

2018-09-20  本文已影响367人  尤樊容
Windows上python程序打包

打包工具网上说的最多的就是pyinstaller,也有一部分在说py2exe,于是我就跟随人流选择了pyinstaller。

其实网上有好多相关的资料,但是我还是准备写一下,总有不一样的体验:
在网上下载一个python3.0以上的安装包安装以后,pip是肯定有的,除非自己手欠去做了设置,哈哈,那就从安装pyinstaller说起吧!

pip install pyinstaller

没错就是这么简单,安装完成以后还可以看看pip list里面就会有你安装的pyinstaller。

pyinstaller -F -i logo.ico 你的文件.py

-F和-i我用了,也是使用的比较多的,
加上-F可以生成一个独立的exe文件,在dist文件中。
加上-i是给你的程序添加一个图标,在-i后加空格+文件名
还有很多相关的设置,可以参考官网,贴心的写上链接:https://pyinstaller.readthedocs.io/en/stable/usage.html

Mac os上python程序打包

这个是使用的py2app打包的,根据python官网上的推荐来的,下面是使用步骤:

为了得到了一个不带任何第三方包的“干净”的Python运行环境,我们需要先安装virtualenv虚拟环境:

virtualenv --no-site-packages venv

进入venv模式

source venv/bin/activate

如果需要退出venv模式,可以使用:

virtualenv

使用pip安装py2app(这个是官网的安装方法,会安装pip能安装的最高版本,但是这里有一个问题,下面会说,我这里需要使用gui,所以推荐使用第二种方法安装):

pip install py2app

第二种安装方法:

pip install -U git+https://github.com/metachris/py2app.git@master

生成setup.py文件:

py2applet --make-setup 你的文件.py

打包成app,开发模式:

python setup.py py2app -A 

发布模式:

rm -rf build dist
python setup.py py2app 

执行

./dist/你的文件名字.app/Contents/MacOS/你的文件名字 

或者:

open 文件.app

注意:在开发的时候发现安装直接使用开发模式有时候会有点问题,如果开发模式有时候出一些奇怪的错误,你也可以直接使用发布模式来做,然后在app里面直接修改你对应的文件运行,无需重新打包。
还有一个重要的问题:如果使用上面的执行方式和直接双击app产生的结果不一样,那多半是路径的问题,可以去检查使用的路径或者文件运行路径。
版本问题:
这个东西我在用的时候有点怪怪的,我安装的py2app==0.17版本的,可是不能使用python自带的tkinter写GUI,一直报错什么_tkinter.os找不到,还是啥的,后来去py2app官网看了,上面是这么说的:

image.png
地址:https://py2app.readthedocs.io/en/latest/changelog.html

然后我就在网上找到了这个给力的教程,他自己改了一版py2app,解决了那个错误,但是终端没有输出,调试很麻烦呀!
这里附上给力教程地址:https://www.jianshu.com/p/afb6b2b97ce9
这个是他翻译的别人的,挺好的。

上一篇下一篇

猜你喜欢

热点阅读