来自 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_requires
和 dependency_links
,但未能在 GitHub 上找到软件包。甚至尝试写 my own deps_installer()
.
有几个问题。
使用 setup()
的 install_requires
参数声明依赖关系,而不是 requirements.txt
。 pypa 有 a description of the differences and pip developer Donald Stufft has some elaboration here.
您的 __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-api
对 sql-models
具有依赖性 link,但实际上并没有在 install_requires
中列出,因此它不会执行任何操作。
看起来问题在于:
package_dir
在我的 setuptool.setup
函数调用中。
删除该关键字参数完全解决了我的问题。
此外,我将所有要求都放在 p0
的 "requirements.txt" 中。
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_requires
和 dependency_links
,但未能在 GitHub 上找到软件包。甚至尝试写 my own deps_installer()
.
有几个问题。
使用
setup()
的install_requires
参数声明依赖关系,而不是requirements.txt
。 pypa 有 a description of the differences and pip developer Donald Stufft has some elaboration here.您的
__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-api
对 sql-models
具有依赖性 link,但实际上并没有在 install_requires
中列出,因此它不会执行任何操作。
看起来问题在于:
package_dir
在我的 setuptool.setup
函数调用中。
删除该关键字参数完全解决了我的问题。
此外,我将所有要求都放在 p0
的 "requirements.txt" 中。