python - 在setup.py或pip需求文件中,如何控制安装包依赖的顺序?

标签 python installation dependencies package setup.py

我有一个 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/

相关文章:

Python:语句中使用的循环变量未更新

web - Tuleap 安装错误

unit-testing - 如何在 Windows 上安装 pgTAP?

两个项目之间的 xcode 目标依赖项

dependencies - 无法加载文件或程序集“someProject”或其依赖项之一。拒绝访问

python - 如果 lambda 返回无 Pandas,则删除行

python - 通过自身而不是方法参数的类的 Pytest fixture

python - 关于 "Python Is Not Java"的问题

winforms - 使用 VS 2015 Professional 创建无需管理员权限即可运行的设置

perl - CGI 检查可用的 Perl 版本和模块