来自 git 的依赖项未安装?

Dependencies from git aren't being installed?

p0 depends on p1, which in turn depends on p2. p2 没有安装,其他的都是。

即:我通过 Heroku 得到一个 ImportError 参考 p2 when I deploy p0

请注意,它们的 requirements.txt 中都有一行,如下所示:

git+http://github.com/project/package

此外,我已尝试将所有内容都放入 install_requiresdependency_links,但未能在 GitHub 上找到软件包。甚至尝试写 my own deps_installer().

有几个问题。

  1. 使用 setup()install_requires 参数声明依赖关系,而不是 requirements.txt。 pypa 有 a description of the differences and pip developer Donald Stufft has some elaboration here.

  2. 您的 __version__ 处理不起作用:您的 setup.py for bettertutors_rest_api 包含 from bettertutors_rest_api import __version__,它将导入 bettertutors_rest_api.py,但是 bettertutors_rest_api.py 将在导入时尝试创建一个 Bottle() 对象,如果 bottle 尚未安装,它将失败,因此 setup.py 将失败而不是获取版本。 pypa 有 advice on single-sourcing versions(我使用选项 3)。

Pip 将 查看 requirements.txt 如果您在命令行上使用 pip install -r requirements.txt 明确告诉它 requirements.txt。请注意,您可以随意命名该文件,将其命名为 requirements.txt 是一种约定,而不是包装中任何地方使用的标准。

请注意,user-apisql-models 具有依赖性 link,但实际上并没有在 install_requires 中列出,因此它不会执行任何操作。

看起来问题在于:

package_dir

在我的 setuptool.setup 函数调用中。

删除该关键字参数完全解决了我的问题。

此外,我将所有要求都放在 p0 的 "requirements.txt" 中。