Pyinstaller+Pipenv打包Python文件,简直不要太香~

2022年05月11日 阅读数:5
这篇文章主要向大家介绍Pyinstaller+Pipenv打包Python文件,简直不要太香~,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

你们好,我是丁小杰

相信你们都试过将Python文件进行打包,来发给其余没有安装Python环境的用户使用,但一般状况下,打包生成的exe文件都很大,而产生这种状况的缘由就是,打包并不会只打包咱们所使用的一些库,在咱们平常使用的环境中,可能会有不少没有用的关联库被一块儿打包。这时,建立一个虚拟环境就是最好的选择,而后在虚拟环境中进行打包。python

安装pipnev

pipenv 用来管理虚拟环境,先安装一下 pipenvweb

pip install pipenv

使用 pip show pipenv 检查是否安装成功。shell

前期准备

建立一个文件夹,来保存虚拟环境相关文件,并cd进入该文件夹下。框架

建立虚拟环境

pipenv install

进入虚拟环境

pipenv shell

安装项目用到的库

pip install pandas

若是数量比较多的话,能够新建一个requirements.txt文件来保存须要的库名,一块儿下载。svg


再在虚拟环境中运行下面代码,记得修改requirements.txt文件路径,这里添加了阿里镜像速度要快些。工具

pip install -r D:\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

在虚拟环境中安装pyinstaller

这一步相当重要,若是没有在虚拟环境中安装pyinstaller的直接打包的话,会使用默认python环境的pyinstaller进行打包,那么,恭喜你前面都白作了。学习

pip install pyinstaller

使用pyinstaller打包

pyinstaller打包有很多可选参数,能够根据本身的须要进行添加。ui

-F:打包单个文件,产生一个文件用于部署(默认),若是代码都写在一个 .py 文件时使用,项目有多个文件时不要使用加密

pyinstaller -F xxx.py

-D:打包多个文件,产生一个目录用于部署(默认),用于框架编写的代码打包spa

pyinstaller -D xxx.py(项目入口文件)

–key=keys:使用 keys 进行加密打包

pyinstaller --key=123456 -F xxx.py

-d:产生 debug 版本的可执行文件

-p:用来添加程序所用到的包的所在位置,设置导入路径,能够用 ; ( Linux 使用 :)分割来指定多个目录。

-w:表示不用控制台窗口,使用 Windows 子系统执行,当程序启动的时候不会打开命令行(只对 Windows 有效)

-c:表示打开控制台窗口,使用控制台子系统执行,当程序启动的时候会打开命令行(默认)(只对 Windows 有效)

-i:将 file.ico 添加为可执行文件的资源,改变程序的图标(只对 Windows 系统有效)

下面是我打包时用的代码。

  • ./1.ico:exe文件图标路径
  • ./test.py:代码路径
pyinstaller -F -w -i ./1.ico ./test.py

运行完以后,可执行文件在dist文件夹下。

下面是两种状况下打包的对比,能够看到在虚拟环境中打包生成的可执行文件要小不少。

固然咱们虚拟环境用完了以后,若是想要删除虚拟环境,能够

pipenv --rm                    删除虚拟环境

这里再给出一些pipenv的经常使用操做

pipenv --where                 列出本地工程路径
pipenv --venv                  列出虚拟环境路径
pipenv --py                    列出虚拟环境的Python可执行文件
pipenv install                 建立虚拟环境
pipenv isntall [moduel]        安装包
pipenv install [moduel] --dev  安装包到开发环境
pipenv uninstall [module]       卸载包
pipenv uninstall --all         卸载全部包
pipenv graph                   查看包依赖
pipenv lock                    生成lockfile
pipenv run python [pyfile]     运行py文件

这就是今天文章的主要内容了,建议你们收藏备用,像这种工具以后确定是要用到的。


对于刚入门 Python 或是想要入门 Python 的朋友,能够经过关注公众号“Python新视野”,一块儿交流学习,都是重新手走过来的,有时候一个简单的问题卡好久,但可能别人的一点拨就会恍然大悟,由衷的但愿你们可以共同进步。

👇🏻 关注公众号卡片,回复“交流群”,一块儿学习Python👇🏻