python程序打包成exe全流程纪实(windows)

c@TOC

前言

python程序只能在安装了python及依赖包的电脑上才能运行,如果我们已经开发了一款可用的桌面软件,并想提供给未安装环境的用户使用,就需要打包成exe文件,打包成exe还有好处是:

  1. 方便用户使用:用户可以直接双击exe文件来运行程序,不需要安装Python解释器和库。
  2. 保护源代码:打包后的exe文件无法直接查看源代码,可以起到一定的保护作用。
  3. 隐藏细节:用户不需要了解程序是用Python编写的,只需要关注功能和界面。
    在这里插入图片描述

目前,常用的python打包exe工具有PyInstaller、Py2exe、cx_Freeze等。一般的做法是先使用这些工具将Python程序及所依赖的库文件一起打包进去。然而,打包Python程序成exe也存在一些困难:

  1. 库依赖问题:如果程序依赖某些第三方库,打包时需要确保这些库也被打包进exe文件中,以便程序能够正常运行。
  2. 文件大小问题:由于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
备注,在ubuntu系统下裸创python环境步骤如下

首先,更新系统的软件包:

sudo apt-get update
#安装python3-venv包:
sudo apt-get install python3-venv

创建一个目录来存放虚拟环境:

mkdir myenv

进入目录:

cd myenv

使用python3的venv模块创建虚拟环境:

python3 -m venv myenv

这将在当前目录下创建一个名为myenv的虚拟环境。

激活虚拟环境:

source myenv/bin/activate

激活虚拟环境后,你将看到命令行前面有(myenv)字样。

安装所需的包:

pip install package_name

在虚拟环境中使用pip安装的包将只在该虚拟环境中可用。

查看已安装的包:

pip list

这将列出在虚拟环境中安装的所有包。

退出虚拟环境:

deactivate

这将停用虚拟环境。

方法二、借助工具(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.ico yourpromgramme.py

注意:此处logo格式因为.ico,要不然其它格式会报错
等待后,打包完成:
在这里插入图片描述
exe文件出现在了Scripts下的自动创建的dist文件夹下
在这里插入图片描述
我这个由于程序依赖了opencv等重型包,文件稍微大一些,但这个大小可以接受。
生成的exe文件可以在其它电脑运行了。
在这里插入图片描述

后记

通过这篇博文,我详细介绍了如何将Python程序打包成exe文件的全流程。从安装依赖库到使用pyinstaller进行打包,再到解决打包过程中可能遇到的问题,我尽力提供了详细的步骤和解决方案。

这篇博文的目的是帮助那些想要将自己的Python程序分享给其他人,但又不希望其他人需要安装Python环境的开发者。通过将程序打包成exe文件,其他人只需双击运行,即可使用该程序。

在写这篇博文的过程中,我不仅重新回顾了打包过程,还遇到了一些问题,解决了一些bug。通过动手实践和总结,我对Python程序打包成exe的流程有了更深入的理解。

希望这篇博文对读者有所帮助,让大家能够更方便地分享和使用Python程序。在以后的博文中,我还会继续分享更多关于Python开发的经验和技巧,希望大家能够继续关注和支持。谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAMES费

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值