我正在尝试将一个Django应用程序部署到Heroku,其中一个必需的软件包位于https://testpypi.python.org/pypi
上,当然Django位于主PyPI服务器上。
我的设置看起来像这样。
# requirements.txt
-r requirements/req2.txt
-r requirements/req3.txt
# requirements/req2.txt
Django==1.7.7
# requirements/req3.txt
-i https://testpypi.python.org/pypi
foo-bar==0.4
运行命令:pip install -r requirements.txt
会导致以下错误。
Could not find any downloads that satisfy the requirement
Django==1.7.7 (from -r ./requirements/req2.txt (line 2))
No distributions at all found for Django==1.7.7
(from -r ./requirements/req2.txt (line 2))
所以对我来说,似乎-i
中的req3
参数被设置然后pip尝试在testpypi
服务器上查找Django。
我尝试将-i https://pypi.python.org/pypi
添加到req2.txt
,但我仍然遇到同样的错误。 (可能https://pypi.python.org/pypi
是错误的网址)
另外如果我单独运行req*.txt
个文件,那么软件包的安装是否成功?
如何级联需求文件并使用私有索引?
不可否认this question和this one非常相似,但都不涉及私人索引
答案 0 :(得分:1)
事实证明,处理私有索引的正确方法是使用--extra-index-url
开关。来自documentation of pip:
请注意,使用--index-url会删除PyPI的使用,而使用--extra-index-url会添加其他索引。
所以,放行
--extra-index-url https://testpypi.python.org/pypi
在requirements.txt
之上就足够了。根本不需要级联!