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

简介: Pyinstaller+Pipenv打包Python文件,简直不要太香!

安装pipnev


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

pip install pipenv
复制代码

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


前期准备


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


创建虚拟环境


pipenv install
复制代码


进入虚拟环境


pipenv shell
复制代码


安装项目用到的库


pip install pandas
复制代码

如果数量比较多的话,可以新建一个requirements.txt文件来保存需要的库名,一起下载。

image.png

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

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


在虚拟环境中安装pyinstaller


这一步至关重要,如果没有在虚拟环境中安装pyinstaller的直接打包的话,会使用默认python环境的pyinstaller进行打包,那么,恭喜你前面都白做了。

pip install pyinstaller
复制代码


使用pyinstaller打包


pyinstaller打包有不少可选参数,可以根据自己的需要进行添加。

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

pyinstaller -F xxx.py
复制代码

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

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文件夹下。

下面是两种情况下打包的对比,可以看到在虚拟环境中打包生成的可执行文件要小很多。

image.png


当然我们虚拟环境用完了之后,如果想要删除虚拟环境,可以

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文件
复制代码

这就是今天文章的主要内容了,建议大家收藏备用,像这种工具之后肯定是要用到的。



相关文章
|
1月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
19天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
18 2
|
1月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
59 1
Python实用记录(十三):python脚本打包exe文件并运行
|
1月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
1月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
44 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
1月前
|
XML JSON Ubuntu
Python实用记录(十五):PyQt/PySide6打包成exe,精简版(nuitka/pyinstaller/auto-py-to-exe)
本文介绍了使用Nuitka、PyInstaller和auto-py-to-exe三种工具将Python的PyQt/PySide6应用打包成exe文件的方法。提供了详细的安装步骤、打包命令和参数说明,适合新手学习和实践。
381 0
|
5天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
下一篇
无影云桌面