如何替换需求文件上的直接引用“@ file”?

问题描述 投票:0回答:1

我想从这个存储库运行一些Python脚本。该存储库包含运行脚本的说明,包括一个

requirements.txt
文件。但是,某些模块的版本未指定,但包含直接引用(据我所知,是本地目录)。

这是所列模块的摘录:

addict==2.4.0
apex==0.1
appdirs==1.4.4
audioread==3.0.0
av==10.0.0
blessed==1.20.0
brotlipy==0.7.0
certifi @ file:///croot/certifi_1671487769961/work/certifi
cffi @ file:///croot/cffi_1670423208954/work
charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
click==8.1.3

当我使用

pip
从需求文件安装模块时,我收到此错误:
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: '/croot/certifi_1671487769961/work/certifi'
。正如您所注意到的,之前摘录中的
certifi
cffi
charset-normalizer
提供了相同类型的直接引用,而不是显式版本。

这个答案解释了如何解释直接引用,当它们是URL时,即不是我想要使用的需求文件中的那样。

我想知道如何手动替换此类引用(如果有办法这样做)或此问题有哪些解决方法。我在

pip
上使用
venv

python python-3.x pip requirements.txt
1个回答
0
投票

只需删除

@ file....
即可让 PIP 获取最新的兼容版本。

addict==2.4.0
apex==0.1
appdirs==1.4.4
audioread==3.0.0
av==10.0.0
blessed==1.20.0
brotlipy==0.7.0
certifi
cffi 
charset-normalizer 
click==8.1.3
© www.soinside.com 2019 - 2024. All rights reserved.