我在nginx代理后面设置了一个pypiserver,它使用htpasswd进行身份验证。我目前能够上传sdists,但我无法弄清楚如何下载它们。我希望能够在运行setup.py test
时以及使用pip
以某种方式下载它们。这可能吗?
[distutils]
index-servers =
private
[private]
repository = https://example.com/pypi
username = remco
password = mypass
为了使其更加困难,服务器当前正在使用未经验证的ssl连接。
我尝试了基于http://pythonhosted.org/setuptools/setuptools.html#setuptools-package-index的以下设置,但唯一的文档是'XXX'
#!/usr/bin/env python2.7
from setuptools import setup
setup(
name='asd',
version='0.0.1',
package_index='https://example.com/pypi/simple',
test_suite='test',
tests_require=['foo==0.0.1'])
答案 0 :(得分:7)
使用您的索引pip
使用此内容创建~/.pip/pip.conf
:
[global]
index-url = https://remco:mypass@build.d-centralize.nl/pypi/simple
cert = /etc/ssl/certs/your_cert_CA.pem
关于pip.conf
的一些文档here和pypiserver here
也许您也可以尝试使用package_index='https://user:pass@example.com/pypi/simple
在setup.py
。
答案 1 :(得分:2)
必须正确设置服务器证书。
要使用pip上传,必须创建一个有效的~/.pypirc
文件:
[distutils]
index-servers = example
[example]
repository = https://example.com/pypi
username = myname
password = mypass
要安装软件包,需要将以下部分添加到.pip/pip.conf
[global]
extra-index-url = https://myname:mypass@example.com/pypi/simple
正如knitti在之前的回答中指出的那样,也可以使用index-url
代替extra-index-url
。这意味着奶酪店不会被用作第二台服务器。
要使用具有setuptools unittesting的私人服务器,您需要将以下内容添加到setup.py
:
from setuptools import setup
setup(
...
dependency_links=[
'https://myname:mypass@example.com/pypi/packages/'
])