【经验】移植环境requirement时报错

在尝试使用pipfreeze>./requirements.txt和pipinstall-rrequirement.txt移植conda环境时,遇到OSError,因为某些包引用了本地路径。解决方案是使用`piplist--format=freeze>requirements.txt`重新导出,但可能会包含多余环境信息。
摘要由CSDN通过智能技术生成

问题描述

在使用pip freeze > ./requirements.txtpip install -r requirement.txt (requirements.txt文件用来记录当前程序的所有依赖包及其精确版本号)从一台电脑移植到另一台电脑的 conda 环境时,出现了一堆类似的报错:

ERROR: Could not install packages due to an OSError: [Errno 2] 没有那个文件或目录: ‘/home/conda/feedstock_root/build_artifacts/argon2-cffi-bindings_1666850853622/work’

此时查看 requirement.txt 文件,发现里面很多包的形式是:

包名+版本号+@ file:///tmp/build/xxx/xxx/work

这是 pip 安装软件包的一种特殊语法,但是该种路径取决于环境,file:///URL 仅在本地文件系统上可用,不能将生成的 requirements.txt 文件在另一台电脑上使用。

解决方案

可以使用以下命令从源环境中重新导出 requirement.txt:
pip list --format=freeze > requirements.txt
此时requirements文件中就都是版本号了(但好像会把许多不必要的环境配置也添加进来)。


A u t h o r : C h i e r Author: Chier Author:Chier

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值