自托管devpi客户端URL配置问题:上传包时遇404错误
解决devpi上传包时的404错误问题
我来帮你搞定这个上传失败的问题~你遇到的404是因为用错了devpi的目标地址,具体原因和解决方法如下:
为什么会出现404?
http://127.0.0.1:3141/root/pypi是devpi默认的只读公共PyPI镜像源,它仅同步官方PyPI的包,不支持上传私有包,所以你的上传请求会返回404。
正确的上传URL配置方法
步骤1:创建可写的私有索引
首先需要为自己创建一个可写的索引(可以用命令行或者访问http://127.0.0.1:3141的web界面操作):
# 先登录root用户 devpi login root --password devpi # 在root用户下创建名为dev的可写索引(索引名可以自定义) devpi index -c root/dev
步骤2:修改pypirc配置
把~/.pypirc里的repository地址改成新创建的索引URL:
[devpi] repository: http://127.0.0.1:3141/root/dev username: root password: devpi
步骤3:重新上传包
现在再用原来的twine命令就能正常上传了:
twine upload -r devpi dist/*.tar.gz
临时方案(不修改配置)
如果不想改动pypirc,也可以直接在上传时指定正确的URL:
twine upload --repository-url http://127.0.0.1:3141/root/dev dist/*.tar.gz
补充说明
devpi的索引结构是http://<地址>/<用户名>/<索引名>,每个用户默认只有一个只读的<用户名>/pypi镜像索引,必须手动创建可写的索引才能上传自己的包。
内容的提问来源于stack exchange,提问作者Ciasto piekarz
相关产品推荐
相关产品推荐

