自托管devpi的客户端URL?

时间:2018-05-28 15:49:29

标签: pip pypi twine devpi pypiserver

我正在运行this devpi docker container

按照说明我在环境变量DEVPI_PASSWORD中设置了密码,然后是

我已设置〜/ .pypirc文件

[devpi]
repository:http://127.0.0.1:3141/root/pypi
username:root
password:devpi

但是在试图上传(更新它,因为它包含我的包的旧版本)python包我得到错误

$ twine upload -r devpi dist/*.tar.gz
Uploading distributions to http://127.0.0.1:3141/root/pypi
Uploading maildiff-1.3.0.tar.gz
100%|███████████████████████████████████████| 16.4k/16.4k [00:00<00:00, 667kB/s]
HTTPError: 404 Client Error: Not Found for url: http://127.0.0.1:3141/root/pypi

那么客户端网址应该是什么?

1 个答案:

答案 0 :(得分:0)

/root/pypihttps://pypi.org处PyPI仓库的只读代理链接。其目的是在本地devpi实例上不可用时安装软件包。要将程序包上载到本地实例,首先需要创建非root用户和索引。在您的主机上,启动容器并(假设从容器到主机的端口映射工作)问题:

$ devpi use http://127.0.0.1:3141
$ devpi login root                         # by default, only root can create new users
$ devpi user -c me password=mypass         # create new user
$ devpi login me                           # relogin as the new user
$ devpi index -c myindex bases=/root/pypi  # create new index

如果您收到错误devpi: command not found,请停止容器并在主机上安装devpi-client

$ pip install devpi-client

现在您可以上传到索引http://127.0.0.1:3141/me/myindex.pypirc中的配置更改为:

[devpi]
repository:http://127.0.0.1:3141/me/myindex
username:me
password:mypass

通过将索引URL传递给pip

,可以从索引进行安装
$ pip install maildiff --extra-index-url=http://127.0.0.1:3141/me/myindex