Python 通过pipenv创建虚拟环境进行打包成可执行文件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:python打包执行文件(.exe)的操作之旅:

由于经常使用到python,并且偶尔需要打包成可执行文件,因此写下这份日常操作。


一、pipenv是什么?

pipenv是基于python的一个虚拟环境,类似 virtualenv 是一种python包管理工具,它能自动处理各种包之间的依赖关系,也能解决不同项目对于同一个包有不同版本,而避免同包不同版本冲突的问题。
创建虚拟目录:mkdir Package_virturl

二、安装pipenv及创建虚拟环境

1.使用国内镜像进行下载pipenv库

# 执行安装命令
pip install pipenv

2.创建虚拟环境

  • 2.1 创建一个目录存放虚拟环境
    WIN + R 快捷键打开运行,输入 cmd 回车进入命令行终端,在终端输入D: ,然后回车,进入到d盘的目录,然后再输入 mkdir 目录名称 ,再回车,此时会在D盘根目录下新建刚输入目录名称的目录(ps:如果存在了,会有提示已存在,如下图)。
    图

创建目录名为:Package_virturl,输入 mkdir Package_virturl ,再回车即可创建,查询是否创建成功,输入 dir 可以查询当前路径下的所有目录,如下图。

<think> 我们参考上述引用内容,总结Windows系统下创建Python虚拟环境打包文件的方法。主要涉及虚拟环境创建和pyinstaller打包两个核心步骤。 根据引用[1]、[2]、[3]、[4]和[5],我们可以归纳出以下步骤: 1. 创建虚拟环境: 有多种方法:使用virtualenv、conda(Anaconda)、pipenv等。 这里我们分别介绍两种常用的:virtualenv和conda。 方法一:使用virtualenv(引用[4]) a. 安装virtualenv(如果尚未安装): pip install virtualenv b. 创建虚拟环境: 在项目目录下打开终端,执行: virtualenv -p python解释器路径 虚拟环境目录 例如:virtualenv -p D:\Python\python.exe env 如果省略-p参数,则使用系统默认的Python解释器。 c. 激活虚拟环境: 进入虚拟环境目录下的Scripts文件夹,执行activate: cd env\Scripts .\activate 激活后,命令行提示符前会有(env)标识。 d. 在虚拟环境中安装项目所需的包: 使用pip install安装所有需要的包(包括pyinstaller)。 e. 退出虚拟环境:执行.\deactivate 方法二:使用conda(引用[2]) a. 创建虚拟环境: conda create -n 环境名 python=版本 例如:conda create -n myenv python=3.8 b. 激活虚拟环境: conda activate myenv c. 安装所需包:在激活的环境中使用conda install或pip install d. 退出虚拟环境:conda deactivate 2. 打包Python文件为exe(引用[1]和[5]): a. 激活虚拟环境(确保在虚拟环境中操作)。 b. 安装pyinstaller(如果尚未安装): pip install pyinstaller c. (可选)下载upx用于压缩,将upx.exe放在项目目录下(引用[1])。 d. 切换到项目目录(包含要打包Python脚本)。 e. 使用pyinstaller进行打包: 基本命令:pyinstaller -F 你的脚本.py 其中-F参数表示打包单个exe文件。 其他常用参数: -w:不显示控制台窗口(用于GUI程序) -i icon.ico:设置图标 --add-data "源路径;目标路径":添加额外文件或文件夹 例如:pyinstaller -F -w -i myicon.ico main.py 3. 处理依赖(引用[5]): 在虚拟环境中,可以使用pipreqs生requirements.txt,然后在虚拟环境中安装: pip install pipreqs pipreqs . --encoding=utf8 --force # 生requirements.txt pip install -r requirements.txt 注意:打包时确保在虚拟环境中,这样pyinstaller只会打包虚拟环境中的依赖,保持环境干净。 根据以上步骤,我们给出一个完整的示例(以virtualenv为例): 步骤1:创建并激活虚拟环境 python -m venv myenv # 使用内置venv模块创建Python3.3以上),或者用virtualenv myenv\Scripts\activate 步骤2:安装所需包 pip install pyinstaller pip install 其他依赖包 步骤3:打包 pyinstaller -F your_script.py 打包后的exe文件位于dist文件夹中。 注意事项: - 如果打包过程中遇到模块找不到的问题,可能是某些包需要额外处理,可以使用--hidden-import参数指定隐式导入的模块。 - 对于使用PyQt、Tkinter等GUI库的程序,可能需要添加资源文件(如图片),使用--add-data参数。 以上方法可帮助用户在Windows系统下创建Python虚拟环境打包文件。 </think>### Windows系统下创建Python虚拟环境打包文件的方法 #### 1. **创建虚拟环境** 以下是三种主流方法(任选其一): ##### 方法一:使用`virtualenv`(原生Python环境) ```powershell # 安装virtualenv pip install virtualenv # 创建虚拟环境(env为自定义环境名) virtualenv -p python.exe env # 激活环境 .\env\Scripts\activate ``` > 激活后命令行会显示`(env)`前缀,表示已进入虚拟环境[^4]。 ##### 方法二:使用`conda`(Anaconda环境) ```powershell # 创建虚拟环境(myenv为自定义环境名) conda create -n myenv python=3.8 # 激活环境 conda activate myenv ``` ##### 方法三:使用`pipenv`(自动依赖管理) ```powershell # 安装pipenv pip install pipenv # 创建环境并安装依赖(自动生Pipfile) pipenv install pipenv shell # 进入环境 ``` #### 2. **安装项目依赖** 在激活的虚拟环境中操作: ```powershell # 安装项目所需包(示例) pip install numpy pandas # 安装打包工具 pip install pyinstaller ``` > 依赖仅安装在当前虚拟环境中,与系统环境隔离[^1][^5]。 #### 3. **打包为EXE文件** ```powershell # 切换到项目目录 cd D:\your_project # 单文件打包(-F参数) pyinstaller -F your_script.py # 添加图标(-i参数) pyinstaller -F -i icon.ico your_script.py # 无控制台窗口(适用于GUI程序,-w参数) pyinstaller -F -w your_script.py ``` 打包后的EXE文件位于项目目录下的`dist`文件夹中。 #### 4. **高级优化技巧** - **缩减体积**:下载[UPX](https://upx.github.io/)解压到项目目录,自动压缩二进制文件[^1] - **隐藏依赖**:对动态加载的库使用`--hidden-import`参数 ```powershell pyinstaller -F --hidden-import sklearn.utils your_script.py ``` - **依赖清单**:用`pipreqs`生`requirements.txt`确保依赖完整 ```powershell pip install pipreqs pipreqs . --encoding=utf8 --force ``` #### 注意事项 1. 路径中避免中文或特殊字符,防止打包失败 2. 复杂项目需手动添加资源文件: ```powershell pyinstaller -F --add-data "templates;templates" app.py ``` 3. 退出虚拟环境:命令行输入`deactivate`(virtualenv)或`conda deactivate`(conda) > 完整流程:创建环境 → 激活环境 → 安装依赖 → 打包 → 测试EXE文件[^1][^5] ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值