有没有办法使用 'python3.9 -m pip download' 从具有多个约束的文件下载包?



我尝试使用pip下载一个文件中列出的所有包,并将它们放在一个目录中。对于这项工作,我需要下载该包的最新版本和特定版本(所以我需要有最新版本的RANDOM-PACKAGE的tar和2.1.1版本的RANDOM-PACKAGE在这个目录)

我使用的命令是:python3 -m pip download -r $FILE_TO_READ --dest $PACKAGES_DIR该命令适用于python 3.6(它可以毫无问题地获得所有包,最后版本和特定版本),但它不适用于python 3.7或更高版本(我使用的是3.9版本)我在Python3.9中得到的具体错误是:

ERROR: Double requirement given: contexter==0.1.4 (from -r/home/lab/working_environment/packages_to_update.txt (line 15))(已经在contexter中(from -r/home/lab/working_environment/packages_to_update.txt (line 14)), name='contexter')

文件为.txt文件,其结构如下:

astpretty
bleach
blivet
bottle
build
certifi
cffi
chardet
charset-normalizer
colorama
commentjson
conan
configobj
contexter
contexter==0.1.4
cryptography
dasbus
dbus-python
decorator

如果不为约束创建单独的文件或使用解析器修改文件,如何解决此错误?

错误显示上下文中有重复包,删除它,看看问题是否已解决。

更新:试着在你的脚本中使用——no-deps标志,看看它是否能解决这个问题。

最新更新