python程序只能在安装了python及依赖包的电脑上才能运行,如果我们已经开发了一款可用的桌面软件,并想提供给未安装环境的用户使用,就需要打包成exe文件,打包成exe还有好处是:
目前,常用的python打包exe工具有PyInstaller、Py2exe、cx_Freeze等。一般的做法是先使用这些工具将Python程序及所依赖的库文件一起打包进去。然而,打包Python程序成exe也存在一些困难:
直接从官网下载python安装包,双击安装就可以。
如果想管理python项目依赖包方便,可以使用vs或者conda、pycharm等IDE平台。对python项目的必须的包进行管理。我这里用的是vs,并安装了python的一个插件。可以一键生成虚拟环境及依赖所需requirements.txt文件,便于项目的移植。
可以通过多种途径创建python的虚拟环境,在没有任何IDE软件工具情况下,python在windows下和linux下都支持以命令行的方式创建虚拟环境:
打开命令窗口,输入以下指令:
(1)创建虚拟环境-myenv
python -m venv myenv
运行命令后,会在当前文件夹下生成虚拟环境:
(2)激活虚拟并进入环境-myenv
myenv\Scripts\activate
这里其实虚拟环境的exe文件在Scripts文件夹里面。其它文件夹分别是头文件,和依赖包。
(2)在虚拟环境-myenv中安装所需的包
如果项目一键制作的安装包文件,可以通过命令一键安装:
pip install -r requirements.txt
当然,这里可能涉及到安装源的问题,国内国外安装速度不同。
安装前可以更换源为国内源(来自网络未亲自验证):
要更换pip安装源为清华大学python源,可以按照以下步骤进行操作:
1、打开pip文件夹:在文件夹地址栏中输入 %APPDATA%,然后按回车键进入该路径。
2、创建pip.ini文件:在刚刚打开的pip文件夹下,创建一个名为pip.ini的文件。
3、编辑pip.ini文件:将以下代码复制到pip.ini文件中,并保存。
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors=true
mirrors=https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host=pypi.tuna.tsinghua.edu.cn
(3)通过vs、conda等工具创建虚拟环境,并安装所需的包(推荐)
以下以vs为例:
可以通过vs工具,将myenv虚拟环境添加进项目并激活:
在vs中有可视化的菜单,创建虚拟环境,同时可以生成requirements.txt
可以通过安装包管理或右键“从requirements.txt安装”,进行依赖包的安装:
在以上虚拟环境下,安装以下2个打包必须的包:
pyinstaller
pywin32
可以用画图或其它工具做一个logo。
将需要打包的*.py程序放入虚拟环境对应的Scripts这个文件夹中:
输入activate激活当前环境:
activate
输入以下指令后按回车打包:
pyinstaller -F -i yourpath\logo.png yourpromgramme.py
等待后,打包完成:
exe文件出现在了Scripts下的自动创建的dist文件夹下
我这个由于程序依赖了opencv等重型包,文件稍微大一些,但这个大小可以接受。
生成的exe文件可以在其它电脑运行了。
通过这篇博文,我详细介绍了如何将Python程序打包成exe文件的全流程。从安装依赖库到使用pyinstaller进行打包,再到解决打包过程中可能遇到的问题,我尽力提供了详细的步骤和解决方案。
这篇博文的目的是帮助那些想要将自己的Python程序分享给其他人,但又不希望其他人需要安装Python环境的开发者。通过将程序打包成exe文件,其他人只需双击运行,即可使用该程序。
在写这篇博文的过程中,我不仅重新回顾了打包过程,还遇到了一些问题,解决了一些bug。通过动手实践和总结,我对Python程序打包成exe的流程有了更深入的理解。
希望这篇博文对读者有所帮助,让大家能够更方便地分享和使用Python程序。在以后的博文中,我还会继续分享更多关于Python开发的经验和技巧,希望大家能够继续关注和支持。谢谢!