目录
- 前言
- 准备工作
- 安装python(必须)
- 安装vs平台或conda(非必须)
- 详细步骤
- Step1.创建python虚拟环境
- 方法一、裸装(windows下)
- 方法二、借助工具(windows下)
- Step2.安装打包必须的python包
- Step3.准备好程序logo(非必须)
- Step4.将python程序放入Scripts
- Step5.命令打包
- 1)打开cmd命令行,cd进入Scripts文件夹:
- 2)激活当前虚拟环境
- 3)指令打包
- 后记
前言
python程序只能在安装了python及依赖包的电脑上才能运行,如果我们已经开发了一款可用的桌面软件,并想提供给未安装环境的用户使用,就需要打包成exe文件,打包成exe还有好处是:
- 方便用户使用:用户可以直接双击exe文件来运行程序,不需要安装Python解释器和库。
- 保护源代码:打包后的exe文件无法直接查看源代码,可以起到一定的保护作用。
- 隐藏细节:用户不需要了解程序是用Python编写的,只需要关注功能和界面。
目前,常用的python打包exe工具有PyInstaller、Py2exe、cx_Freeze等。一般的做法是先使用这些工具将Python程序及所依赖的库文件一起打包进去。然而,打包Python程序成exe也存在一些困难:
- 库依赖问题:如果程序依赖某些第三方库,打包时需要确保这些库也被打包进exe文件中,以便程序能够正常运行。
- 文件大小问题:由于exe文件需要包含Python解释器和所依赖的库,打包后通常会比源代码大很多。
本篇将向读者介绍,如何在windows平台(linux平台也适用)将一个python程序打包成一个exe,并且做到文件大小的合理控制。
准备工作
安装python(必须)
直接从官网下载python安装包,双击安装就可以。
安装vs平台或conda(非必须)
如果想管理python项目依赖包方便,可以使用vs或者conda、pycharm等IDE平台。对python项目的必须的包进行管理。我这里用的是vs,并安装了python的一个插件。可以一键生成虚拟环境及依赖所需requirements.txt文件,便于项目的移植。
详细步骤
Step1.创建python虚拟环境
可以通过多种途径创建python的虚拟环境,在没有任何IDE软件工具情况下,python在windows下和linux下都支持以命令行的方式创建虚拟环境:
方法一、裸装(windows下)
打开命令窗口,输入以下指令:
(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
方法二、借助工具(windows下)
(3)通过vs、conda等工具创建虚拟环境,并安装所需的包(推荐)
以下以vs为例:
可以通过vs工具,将myenv虚拟环境添加进项目并激活:
在vs中有可视化的菜单,创建虚拟环境,同时可以生成requirements.txt
可以通过安装包管理或右键“从requirements.txt安装”,进行依赖包的安装:
Step2.安装打包必须的python包
在以上虚拟环境下,安装以下2个打包必须的包:
pyinstaller
pywin32
Step3.准备好程序logo(非必须)
可以用画图或其它工具做一个logo。
Step4.将python程序放入Scripts
将需要打包的*.py程序放入虚拟环境对应的Scripts这个文件夹中:
Step5.命令打包
1)打开cmd命令行,cd进入Scripts文件夹:
2)激活当前虚拟环境
输入activate激活当前环境:
activate
3)指令打包
输入以下指令后按回车打包:
pyinstaller -F -i yourpath\logo.png yourpromgramme.py
等待后,打包完成:
exe文件出现在了Scripts下的自动创建的dist文件夹下
我这个由于程序依赖了opencv等重型包,文件稍微大一些,但这个大小可以接受。
生成的exe文件可以在其它电脑运行了。
后记
通过这篇博文,我详细介绍了如何将Python程序打包成exe文件的全流程。从安装依赖库到使用pyinstaller进行打包,再到解决打包过程中可能遇到的问题,我尽力提供了详细的步骤和解决方案。
这篇博文的目的是帮助那些想要将自己的Python程序分享给其他人,但又不希望其他人需要安装Python环境的开发者。通过将程序打包成exe文件,其他人只需双击运行,即可使用该程序。
在写这篇博文的过程中,我不仅重新回顾了打包过程,还遇到了一些问题,解决了一些bug。通过动手实践和总结,我对Python程序打包成exe的流程有了更深入的理解。
希望这篇博文对读者有所帮助,让大家能够更方便地分享和使用Python程序。在以后的博文中,我还会继续分享更多关于Python开发的经验和技巧,希望大家能够继续关注和支持。谢谢!