python 两种方式,自动生成 requirements.txt 文件,再也不需要手动安装依赖了

前言

有一定 python 基础的人可能都知道,requirements.txt 文件是用来描述当前 python 项目所需要的依赖。

在工作当中,我们经常需要在不同的电脑运行 python 项目,比如在公司的电脑盒家里的电脑运行同一个项目。如果每一次都要重新使用 pip install xxx 去逐一安装每个 requirements,那将会是很繁琐的事情。

那有没有好的方法呢,其实是有的,就是使用 pip install -r requirements.txt

自动生成 requirements 的两种方法

那我们要如何自动生成 requirements.txt 文件,其实有两种方法

第一种方法

第一种 适用于 单虚拟环境的情况: :

pip freeze > requirements.txt

为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的

当然这种情况并不是我们想要的,当我们使用的是全局环境时,可以使用第二种方法。

第二种方法

第二种 (推荐) 使用 pipreqs ,github 地址为: github.com/bndr/pipreqs

** 安装**

 pip install pipreqs

在当前目录生成

 pipreqs . --encoding=utf8 --force

注意 --encoding=utf8 为使用 utf8 编码,不然可能会报
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 406: illegal multibyte sequence 的错误。

–force 强制执行,当 生成目录下的 requirements.txt 存在时覆盖。

小结

python 两种方式,自动生成 requirements.txt 文件,你学会了嘛,赶紧搞起来

<think>我们正在回答用户的问题:如何生成和准备requirements.txt文件用于pip安装。根据之前提供的引用内容,我们可以总结出创建requirements.txt文件两种主要方法:1.手动创建:编写一个文本文件,列出每个需要的包,可以选择指定版本或指定。2.自动生成:使用`pipfreeze`命令生成当前环境已安装的包及其版本。但根据引用[1]和引用[3]中的信息,自动生成是最常用的方式。步骤:1.创建并激活虚拟环境(推荐,但是必须的,但这样可以隔离项目依赖)。2.安装项目所需的包(通过pipinstall)。3.使用`pipfreeze>requirements.txt`命令生成requirements.txt文件。4.检查requirements.txt文件内容,确保只包含项目所需的包(有时会包含必要的包,需要手动清理)。另外,也可以手动创建requirements.txt,每行写一个包,可以指定版本也可以指定(指定则安装最新版)。注意事项:-使用虚拟环境可以避免将全局环境的包全部导出。-在团队协作中,通常要求精确版本以确保环境一致性。因此,我们将按照这些步骤来组织回答。</think> ### 如何创建和准备requirements.txt文件 #### 📁 方法一:自动生成(推荐) 1. **创建虚拟环境**(避免全局污染): ```bash python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows ``` 2. **安装项目依赖**: ```bash pip install Flask requests numpy # 安装所需包 ``` 3. **生成requirements.txt**: ```bash pip freeze > requirements.txt ``` 生成文件包含精确版本号: ``` Flask==2.3.2 requests==2.31.0 numpy==1.24.3 ``` #### 📝 方法二:手动创建 1. 新建文本文件 `requirements.txt` 2. 按格式添加依赖: ```txt # 精确版本 Flask==2.3.2 # 最低版本 requests>=2.28 # 指定版本(安装最新版) pandas # 版本兼容范围 scikit-learn~=1.2.0 # >=1.2.0且<1.3.0 ``` #### ✅ 最佳实践 1. **始终包含版本号**(避免协作冲突)[^1] 2. **使用注释说明**: ```txt # Web框架 Flask==2.3.2 # 数据处理 pandas==1.5.3 numpy==1.24.3 ``` 3. **测试安装流程**: ```bash pip uninstall -y -r requirements.txt # 先卸载 pip install -r requirements.txt # 再安装测试 ``` #### ⚠️ 注意事项 1. 文件需保存在项目根目录 2. 版本符号含义: - `==` 精确版本(最安全) - `>=` 最低版本 - `~=` 兼容版本(如 `~=2.3` 接受 `2.3.x` 但接受 `2.4.x`) 3. 依赖过多时建议分组管理: ```txt -r base.txt # 核心依赖 -r dev.txt # 开发依赖 ``` > 📌 示例:当使用 `pip freeze > requirements.txt` 时,会生成当前环境所有包的精确版本快照,确保环境一致性[^1]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gdutxiaoxu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值