我想从这个存储库运行一些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
。
只需删除
@ 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