Python脚本非常强大,实现功能也比较方便快捷,但它需要在特定的Python环境下运行,受版本、依赖库的影响很大,为了方便共享,可以使用如Pyinstaller将python代码、依赖库和编译环境等一键打包成可执行程序exe。基本流程如下:
编译测试脚本
为了方便演示,这里编写两个脚本main.py和mylib.py,前者调用后者的函数,输出两句话。
执行结果如下,可以看在同时也生成了名为"__pycache__"的缓存文件夹,里面放的py文件的二进制编译结果mylib.cpython-37.pyc和mylib.cpython-37.pyc
打包应用程序
这里使用pyinstaller来打包,安装命令:
pip install pyinstaller
打包命令
Pyinstaller -F 源码文件.py
打包日志如下:
打包成功在dist文件中为exe可执行文件,运行效果如下:
常见问题解决
问题1:pyinstaller不是内部或者外部命令
已经安装了pyinstaller,但执行打包命令时,仍然提示 pyinstaller不是内部或者外部命令
解决:先使用命令检查是否正确安装;如果已安装将pyinstaller.exe文件拷到Python的Scripts目录下。
pip show pyinstaller
问题2:打包工具是否有图形化工具
解决:有的。安装auto-py-to-exe
问题3:安装下载组件慢。
解决:使用国内镜像下载。如:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/