python3-saml库在setup.py
中提到了以下依赖项install_requires=[
'isodate>=0.5.0',
'xmlsec>=0.6.0'
],
xmlsec库本身有一个像这样固定的lxml依赖项。
lxml >= 3.0
这让我陷入了不幸的境地。
我想确定python3-saml项目使用的lxml版本。
我可以派python3-saml,但是我该怎么办才能使我的分叉版本python3-xml安装lxml==3.7.3
答案 0 :(得分:0)
我认为您混淆了 setup.py install_requires 的目的。包维护者使用它来指定兼容的依赖版本,而不是" pin"版本。请参阅install_requires vs Requirements files。
请注意,您在此处的两个 setup.py 文件中看到的依赖关系不是"固定",因为它们允许多个版本。请参阅PEP 440 Version Specifiers。
使用pip来管理已安装版本的软件包和传递依赖项。
$ pip install python3-saml lxml==3.7.3
现在我们可以看到安装了所需的版本。
$ pip freeze
defusedxml==0.5.0
isodate==0.6.0
lxml==3.7.3
pkgconfig==1.2.2
python3-saml==1.3.0
six==1.11.0
xmlsec==1.3.3