我有一个 Python 包,其 setup.py 具有通过通常方式在 install_requires=[...] 中声明的依赖项。那里的一个软件包 scikits.timeseries 有一个 setup.py 期望已经安装了 numpy,因此,我想通过某种方式先安装 numpy。对于这种情况和一般情况,是否可以控制依赖安装的顺序?如何?
目前 setup.py 提取依赖项的顺序(如 arg install_requires 中所列)似乎实际上是随机的。此外,在 setup.py setup(...) 中,我尝试使用 arg:
extras_require={'scikits.timeseries': ['numpy']}
...没有成功,安装依赖项的顺序不受影响。
我也尝试设置一个 pip 需求文件,但是 pip 安装依赖项的顺序与需求文件的行顺序不匹配,所以没有运气。
另一种可能性是在 setup.py 顶部附近进行系统调用,以便在 setup(...) 调用之前安装 numpy,但我希望有更好的方法。在此先感谢您的帮助。
最佳答案
如果 scikits.timeseries
需要 numpy
,那么它应该将其声明为依赖项。如果是,那么 pip
会为您处理事情(我很确定 setuptools
也会,但我已经很长时间没有使用它了)。如果您控制 scikits.timeseries
,那么您应该修复它的依赖声明。
关于python - 在setup.py或pip需求文件中,如何控制安装包依赖的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996589/