pip - 自托管devpi的客户端URL?
问题描述
我正在运行这个devpi docker 容器
按照说明,我在环境变量 DEVPI_PASSWORD 中将密码设置为 devpi 然后
我已经设置了 ~/.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
那么客户端 URL 应该是什么?
解决方案
/root/pypi
是指向https://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
推荐阅读
- python - Pandas 横向和纵向求和聚合
- python - 我想再训练 4 个 Word2vec 模型并对生成的嵌入矩阵进行平均
- python - 如何使用文本标签自定义 Seaborn Heatmap 中的颜色条
- javascript - React 导出上下文返回解析错误:未定义导出“SearchContextConsumer”
- python - 将 python 变量传递给 SQL 查询
- linux - 如何从 Azure 管道连接到私有容器实例?
- javascript - 具有 JSON 服务器的不同唯一键
- php - PHP Scraper 从谷歌航班获取航班价格
- python-3.x - Flask-seeder 初始数据,为什么 faker.create 不在控制台打印任何内容?
- mysql - 使用 for 循环和多个 orWhen 为图表构建数组