使用场景:对于python程序进行打包的时候,由于我们电脑安装了Anaconda或者过多的其他包导致打包生成的exe文件相当大,同时运行相应时间也较长!
解决方案:在电脑上新建一python虚拟环境,专用于打包程序
虚拟环境可以理解为是Python解释器的一个副本,在这个环境你可以安装私有包,而且不会影响系统中安装的全局Python解释器。虚拟环境非常有用,可以在系统的Python解释器中避免包的混乱和版本的冲突。【重要是不同虚拟环境可以搭建不同的python版本,创建时候选择】
首先本地要有python环境,可以通过 可以在电脑左下角搜索【编辑系统环境变量】——【用户变量】——【PATH】中找到
pip install virtualenv
pip install virtualenvwrapper-win
mkvirtualenv -p="python环境所在路径\python.exe" 虚拟环境名称
此时我们虚拟环境已经创建好了,就是我们的对应环境名称
进入虚拟环境
workon 虚拟环境名
G:\项目测试文件夹\NewAutogame>workon pynew
(pynew) G:\项目测试文件夹\NewAutogame>
可以看到在当前目录前面有括号包围起来的虚拟环境名称,说明此时我们已成功切换
通过 pip list
可以查看当前虚拟环境已安装的依赖
(pynew) G:\项目测试文件夹\NewAutogame>pip list
Package Version
---------- -------
pip 21.3.1
setuptools 59.6.0
wheel 0.37.1
然后运行代码,查看缺少哪些依赖,对应安装即可
运行代码 python 代码名.py
安装依赖 pip install 依赖名
同时pyinstaller模块必须重新安装,文件才会缩小
退出虚拟环境
通过命令 deactivate
退出虚拟环境
(pynew) G:\项目测试文件夹\NewAutogame>deactivate
G:\项目测试文件夹\NewAutogame>
PyInstaller是一个能将Python程序转换成单个可执行文件的程序,操作系统支持Windows, Linux, Mac OS X, Solaris和AIX。 并且很多包都支持开箱即用,不依赖环境。
pyinstaller -F -w -i ./xx.ico xxx.py
-i 给应用程序添加图标
-F 指定打包后只生成一个exe格式的文件
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认项)
-c –console, –nowindowed 使用控制台,无界面(默认)
-w –windowed, –noconsole 使用窗口,无控制台
-p 添加搜索路径
图标图片是 .ico 格式,可通过该网站转换,友情链接
pyinstaller 详细学习可看此处 《py打包实战指南》
依赖安装
pip install 依赖名
最常用此方法,掌握此即可
依赖卸载
pip uninstall 依赖名
pip 版本升级
python -m pip install --upgrade pip==9.0.3
经常会出现PIP版本过低而无法安装依赖问题,只需升级pip版本即可!
目的:解决依赖安装速度慢及安装失败问题
注意:关于–trusted-host(即host域名)部分,就取index-url中http(s)/ 到第一个/之间的部分,请使用者自行对应提取
pip3 install sweetest -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install sweetest -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn