Python 从一个或多个需求文件从多个服务器安装包
我尝试过以下两种方法,但都没有成功 第一个是级联需求文件Python 从一个或多个需求文件从多个服务器安装包,python,pip,Python,Pip,我尝试过以下两种方法,但都没有成功 第一个是级联需求文件 # requirements.txt -r requirements/req2.txt -r requirements/req3.txt pip安装-r requirements.txt导致pip找不到Django 第二次尝试是在单个文件中包含这两个需求: -i https://pypi.python.org/pypi/ Django==1.7.7 -i https://testpypi.python.org/pypi foo-bar=
# requirements.txt
-r requirements/req2.txt
-r requirements/req3.txt
pip安装-r requirements.txt
导致pip
找不到Django
第二次尝试是在单个文件中包含这两个需求:
-i https://pypi.python.org/pypi/
Django==1.7.7
-i https://testpypi.python.org/pypi
foo-bar==0.4
pip安装-r requirements.txt
会导致相同的错误,pip
找不到Django
如何使用
pip
安装来自不同服务器/索引url的软件包?无论哪种情况,解决方案都是在requirements.txt
文件的开头添加--额外的索引url
例如:
# requirements.txt
--extra-index-url https://testpypi.python.org/pypi
Django==1.7.7
django-stackexchange-feed==0.4
或使用级联需求文件:
# requirements.txt
--extra-index-url https://testpypi.python.org/pypi
-r requirements/req2.txt
-r requirements/req3.txt
pip安装-r requirements.txt
现在可以工作了。这对什么有用?我需要它来部署到Heroku。要安装应用程序依赖项,Heroku将调用pip install-r requirements.txt
,因此我需要在一个pip
可读入口点下的多个索引上定义包。我也可以想象其他的用途,但我对Python社区还很陌生,所以我不敢去猜测。我昨天花了几个小时试图找出如何做到这一点,所以我想我会分享这些发现。
# requirements.txt
--extra-index-url https://testpypi.python.org/pypi
Django==1.7.7
django-stackexchange-feed==0.4
# requirements.txt
--extra-index-url https://testpypi.python.org/pypi
-r requirements/req2.txt
-r requirements/req3.txt
# requirements/req2.txt
Django==1.7.7
# requirements/req3.txt
foo-bar==0.4