conda打包exe 带第三方库

当我们通过一个Python项目来开发应用程序时,需要将代码及其依赖的库打包成一个独立的可执行文件(.exe),以便在没有Python环境的操作系统上运行。在这篇文章中,我们将介绍如何使用Conda打包一个Python项目(包括第三方库)到一个exe文件。

### 前提条件

- 已安装Anaconda或Miniconda:Anaconda是一个全方位的Python及数据科学领域相关功能集合,而Miniconda则更轻量级,提供了最基本的Python环境。

- 已安装自己的Python项目的依赖库。可通过`requirements.txt`文件或`environment.yml`文件安装。

### 打包Python项目为exe文件步骤

1. 创建一个新的conda环境

为了确保项目环境的独立和干净,我们需要创建一个新的conda环境。打开命令行或终端,执行以下命令:

```

conda create -n my_project python=3.x

```

其中`my_project`表示环境名,根据实际情况更改。`python=3.x`表示使用的Python版本,选择与你的项目兼容的版本。

2. 激活新创建的conda环境

```

conda activate my_project

```

3. 安装项目依赖

进入项目目录,在其中找到`requirements.txt`或`environment.yml`文件,根据文件类型采用不同的方式安装依赖库:

- 如果是`requirements.txt`:

```

pip install -r requirements.txt

```

- 如果是`environment.yml`:

```

conda env update --file environment.yml

```

4. 安装Nuitka

打包Python项目为exe文件,我们需要引入Nuitka。这是一个将Python代码编译成C代码并通过C编译器将程序编译为单独的可执行文件的工具。安装方法如下:

```

pip install nuitka

```

5. 利用Nuitka将项目打包成exe文件

进入项目的主目录,找到主程序入口的Python文件(例如`main.py`),然后执行

```

nuitka --standalone --follow-imports main.py

```

这将会在本地生成一个名为`main.dist`的文件夹,里面包含了打包好的exe文件及相关依赖(例如DLLs)。

6. 测试生成的exe文件

在`main.dist`文件夹中,双击`main.exe`,查看程序是否正常运行。如果遇到问题,检查程序是否有未列在`requirements.txt`或`environment.yml`中的依赖库。

7. 分享你的exe文件

你可以将`main.dist`目录下所有文件一起打包成zip文件,将其分享给需要的人。注意,这里的打包跟之前步骤中解释的打包意义不同,实际意义上就是将其压缩为一个便于传输和解压的压缩包。

### 结论

本文介绍了如何使用conda打包一个包含第三方库的Python项目为一个独立的exe文件,让你的程序能够在没有Python环境的计算机上运行。只需遵循上述操作,你可以顺利将自己的Python项目分享给他人。