[how-to] Python打包 (pipenv + pyinstaller)

注:我博客中的how-to系列只列出操作步骤,不涉及到原理和非通常情况的操作。主要为有相关经验的人进行速查。如果感兴趣的人比较多,则会写一个tutorial版本,提供详细入门说明。

1. 下载一个纯净的python

https://www.python.org/downloads/

2. 安装pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py

3. 安装pipenv

pip install pipenv

4. 创建环境

cd到一个目录

如果使用python 3 
pipenv —three

如果使用python 2
pipenv --two

5. 进入环境

pipenv shell

6. 安装软件所需包

pip install  {your lib}
or
pip install -r requirments.txt

7. 安装打包软件

pip install pyinstaller

8. 打包

pyinstaller -Fw your_program.py
### 使用Nuitka和PyInstaller一起打包Python应用程序 当考虑使用Nuitka和PyInstaller打包Python应用时,主要目标是利用两者的优势以获得更优化的应用程序包。Nuitka是一个Python到C++的编译器,能够将Python源码转换成高效的机器代码;而PyInstaller则专注于创建独立可执行文件。 对于希望结合二者特性的开发者来说,通常先通过Nuitka编译部分关键模块或整个项目为二进制形式[^1]。这一步骤可以显著提升性能并保护知识产权。接着,在已经预处理过的代码基础上运行PyInstaller,从而构建最终分发版本。 具体操作流程如下: #### 准备工作 确保安装了最新版的Nuitka以及PyInstaller工具库: ```bash pip install nuitka pyinstaller ``` #### 编译阶段 采用Nuitka对选定脚本进行静态编译,生成对应的`.exe`或其他平台特定格式的目标文件。这里假设有一个名为`main.py`的应用入口点。 ```bash nuitka --standalone main.py ``` 此命令会尝试把尽可能多的内容转化为本地代码,并放置在一个单独目录内。 #### 打包过程 随后借助PyInstaller进一步封装上述由Nuitka产生的成果物。需要注意的是,此时应指定正确的输入路径指向之前Nuitka输出的结果位置。 ```bash pyinstaller --onefile ./dist/main.dist/main.exe ``` 此处假定Nuitka默认情况下会在当前项目的根目录下建立一个叫做`dist`的新文件夹用于存放其产物,其中包含了被编译后的主程序副本以及其他依赖资源。 这种组合方式不仅有助于提高效率,还能增强安全性,因为经过Nuitka转化的部分难以反向工程解析原始逻辑结构[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值