7.虚拟环境自动生成requirements.txt文件

一、自动生成requirements.txt文件

小张用python写了一个项目,使用的是Anaconda中的一个虚拟环境,在这个环境配置了很多需要的包,那怎么把这些包一一列出来呢?这时就有了requirements.txt文件。

1、进入虚拟环境

conda activate LprTorTens

2、切换到虚拟环境所在的目录

d:
cd MySoft\AnaVirEnv\envs\LprTorTens

3、输入以下命令:

pip freeze > requirements.txt

这个时候就会自动生成requrements.txt文件到 D:\MySoft\AnaVirEnv\envs\LprTorTens下

4、查看requirements.txt文件

查看内容:

 小张把整个项目连同requirements.txt文件一起上传到gitee上了。

这个requiremens.txt文件有很多package,其实有时候下载A就连同下载了里面的B和C,小张可以精简一下,列出必需的包。

二、根据requirements.txt文件安装需要的环境

小李在自己的电脑上clone了小张的项目,但是他不知道哪些包是需要的,这个项目应该在什么环境下运行。

1、小李使用conda创建了一个虚拟环境

conda create -n XiaoLi

2、激活虚拟环境

conda activate XiaoLi

3、把项目中的包copy到了桌面

(我的桌面在E盘。我是为了方便才放到桌面,不copy也行,直接切换到这个项目的目录)

4、在虚拟环境中进入桌面目录:

e:
cd Desktop

5、输入以下命令读取requirements.txt文件并安装里面列出的包 

pip install requirements.txt

### 如何使用 Python 生成 `requirements.txt` 文件 #### 方法一:基于虚拟环境的依赖导出 当项目运行在一个独立的虚拟环境中时,可以直接通过以下命令生成 `requirements.txt` 文件。此方法适用于那些已经创建了虚拟环境的情况。 ```bash pip freeze > requirements.txt ``` 上述命令会将当前虚拟环境中所有的已安装包及其版本号记录到 `requirements.txt` 中[^2]。然而需要注意的是,在全局环境下执行该操作可能会引入许多不必要的依赖项,因此建议始终在项目的专属虚拟环境中完成这一过程。 #### 方法二:利用工具精确提取必要依赖 (推荐方式) 对于更复杂的场景或者希望只获取实际使用的模块而非整个环境中的所有库来说,“pipreqs”是一个非常有用的工具。它能够分析代码文件来决定哪些外部库被真正调用了从而自动生成合适的 `requirements.txt` 列表: 1. 需要先安装 pipreqs 工具本身: ```bash pip install pipreqs ``` 2. 接着针对目标目录运行如下指令即可得到精简版的需求文档 ```bash pipreqs /path/to/project ``` 这种方法的优势在于它可以避免把未直接参与程序逻辑实现却存在于工作区内的其他测试框架或者其他辅助性质插件也加入最终产物之中。 #### 方法三:离线模式下的需求管理 另外还有一种情况涉及到网络受限区域内部署应用软件的时候,则可以通过预先下载好对应资源再上传至指定位置的方式解决联网限制问题: - 构建 Wheel 包并存储于特定路径下: ```bash pip wheel -w /path/to/wheels -r requirements.txt ``` - 或者单纯地拉取所需资料而不立即安装它们: ```bash pip download -d /path/to/packages -r requirements.txt ``` 之后便能借助这些事先准备好的档案来进行后续处理了,比如重新部署相同配置的新实例等等[^4]: ```bash pip install --no-index --find-links=/path/to/packages -r requirements.txt ``` 以上三种途径分别适应不同场合下的具体需求状况,请依据实际情况选取最恰当的一种实施策略。 ### 注意事项 - 创建和激活适合各自项目的单独虚拟环境是非常重要的实践之一,这有助于隔离各个应用程序之间的相互干扰以及简化长期维护流程[^3]。 - 当采用 `pip freeze` 方式时务必确认所处的工作空间确实仅限于此单一任务范围内;否则可能意外捕获额外的数据集合进来造成混淆或膨胀现象发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值