Tips--解决Python打包成exe文件大启动慢的问题

本文介绍了如何解决使用pyinstaller打包Python程序时生成的exe文件过大且启动慢的问题。主要原因是pyinstaller打包时包含了环境中所有库。解决方法是创建虚拟环境,仅安装必需的库,然后在虚拟环境中打包。通过此方法,exe文件大小显著减少,启动时间也有所缩短。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 问题描述

在日常工作中经常使用Python的小伙伴会经常需要把py文件打包成exe文件给别人使用,这样的好处就是别人不需要安装所需要的python环境和所依赖的库即可运行你的程序。我们通常使用pyinstaller工具来打包成exe可执行文件:

pyinstaller -F yourFile.py

但是这样打包成的exe非常大,动辄几百M,然后打开之后启动非常慢,30s以上才有反应。这种肯定不利于日常使用,那么造成这个现象的原因是什么?有没有什么方法可以解决这个问题呢?

2. 产生原因

造成这个问题的原因在于pyinstaller在打包py文件的时候,并不会智能地把你文件中需要的库打包进去,而是偷懒把当前环境中所有已经安装的库都给你打包进去了,所以我们最后得到的exe文件才会很大,从而导致启动很慢。

2. 解决方法

解决方法很简答,我们需要在一个新的虚拟环境中打包就好了。以anaconda为例,它需要三个步骤:1.建立虚拟环境,2.安装py文件所依赖的库,3.利用pyinstaller打包。

2.1 建立虚拟环境

使用的anaconda建立虚拟环境的指令:

conda create -n yourEnvName python=3.6.5

其中yourEnvName 是虚拟环境的名字,python的版本根据号自己的序号来选择。
建立完环境之后进行激活即可:

activate yourEnvName 
2.2 安装所需库

进入到我们建立的环境之后,安装我们所需要的库即可,当然,pyinstaller也是需要安装的:

pip install pyinstaller
2.3 在环境中打包

安装完我们工程所需要的库之后,就可以在虚拟环境中打包了:

pyinstaller -F yourPyFile.py

打包之后我们发现,生成的exe文件的大小变为了几十M(虽然也很大),启动时间缩短为了小于10s(虽然也不短),但比之前的结果好多了。

2.4 附pyinstaller参数表

对于pyinstaller工具,其选项参数列表如下所示:

选项描述
-F生成结果是一个exe程序,所有的第三方依赖库和其他资源都被打包成进该exe程序中
-D生成结果是一个包含exe程序的目录,所有第三方依赖库和其他资源和exe程序位于同一目录下
-i为生成的程序指定一个icon图标
-c显示命令行窗口
-w不显示命令行窗口
-n指定生成的exe和spec文件名
-distpath指定打包后的程序存放目录,默认存放在当前目录下的dist目录
-workpath为输出的所有临时文件指定存放目录
-h显示帮助信息
-v显示版本号
Android Studio与Python环境配置的步骤如下: 1. 打开Android Studio,点击菜单栏的"File",选择"Settings"打开设置界面。 2. 在设置界面中,选择"Plugin"选项,然后搜索"Python"。 3. 在搜索结果中找到并安装"Python Community Edition"插件。 4. 安装功后,点击"Restart IDE"按钮,重启Android Studio。 配置完后,你可以在你的Android项目中使用Python环境。下面是一些示例代码,可以帮助你开始使用Python: 1. 在你的代码中初始化Python环境: ``` if (!Python.isStarted()){ Python.start(new AndroidPlatform(this)); } Python python = Python.getInstance(); ``` 2. 调用Python代码和函数: ``` PyObject pyObject = python.getModule("text"); PyObject res = pyObject.callAttr("sayHello"); ``` 3. 弹出信息提示框: ``` AlertDialog textTips = new AlertDialog.Builder(MainActivity.this) .setTitle("Tips:") .setMessage(res.toString()) .create(); textTips.show(); ``` 另外,如果你需要在Android Studio中使用第三方Python库,你可以在app/build.gradle文件中添加以下代码,并根据你的需求更改Python路径和第三方库: ``` apply plugin: 'com.chaquo.python' ndk { // 指定abi,如需在模拟器调试,增加"x86",否则指定"armeabi-v7a"即可 abiFilters "armeabi-v7a", "x86" } python { // 指定python路径 注意更换为自己的Python路径!! buildPython "D:\\python 3.9\\python.exe" //安装第三方库 //pip{ // install "opencv-python" // install "numpy" //} } ``` 希望这些步骤可以帮助你功配置Android Studio与Python环境。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱吃骨头的猫、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值