python setuptools 将轮子上传到自定义 devpi 服务器:404 未找到
python setuptools upload wheel to custom devpi server: 404 Not found
作为持续集成管道的一部分,我正在尝试从存储库构建一个 Python wheel 文件,将其上传到自定义 devpi 服务器,然后从那里对 wheel 文件运行测试。
我尝试过的一种方法是使用 setuptools 在一行中构建和上传 wheel 文件,但是 returns 出现 404 Not Found 消息。
在 Windows 上工作,我的 .pypirc 在 C:\Users\buildbot\.pypirc
[distutils]
index-servers =
staging
[staging]
repository: http://pypi/root/staging
username: buildbot
password: 12345678
从我的项目回购的根目录,我尝试构建和上传:
python.exe .\setup.py bdist_wheel upload --repository http://pypi/root/staging
但是,虽然轮子放在 dist\proj-20141216.2.dev0-py2-none-any.whl
中很好,但上传步骤的结果是:
running upload Submitting
C:\var\buildminion\build_proj-dev\build\dist\proj-20141216.2.dev0-py2-none-any.whl to http://pypi/root/staging
Upload failed (404): Not Found
运行 setuptools register
结果类似:
Registering snail to http://pypi/root/staging
Server response (404): Not Found
我知道 devpi 服务器运行正常,因为我可以使用
手动上传文件
devpi use http://pypi/root/staging
devpi login buildbot --password 12345678
devpi upload dist\proj-20141216.2.dev0-py2-none-any.whl
知道为什么设置工具 upload
不起作用吗?
此外,是否可以在没有 .pypirc 的情况下使用此上传功能(或自动填充该文件)?将来,我希望能够自动配置 buildbot minions,如果可以的话,我会避免这种额外的配置。
如果无法完成这项工作,我可以使用 devpi 编写手动上传脚本。我希望相同的 CI 代码适用于多个项目的多个版本,因此如果我不必编写代码来匹配 wheel 文件名会更容易。这就是为什么我更愿意使用 setuptools upload
。 pip
有上传功能吗?
问题是 url,对于 setup.py,您需要尾随“/”,因此请将您的配置更改为:
[distutils]
index-servers =
staging
[staging]
repository: http://pypi/root/staging/
username: buildbot
password: 12345678
而且您可能必须注册该项目,这对我来说是一个转折点:
python.exe .\setup.py bdist_wheel register -r staging
python.exe .\setup.py bdist_wheel upload -r staging
作为持续集成管道的一部分,我正在尝试从存储库构建一个 Python wheel 文件,将其上传到自定义 devpi 服务器,然后从那里对 wheel 文件运行测试。
我尝试过的一种方法是使用 setuptools 在一行中构建和上传 wheel 文件,但是 returns 出现 404 Not Found 消息。
在 Windows 上工作,我的 .pypirc 在 C:\Users\buildbot\.pypirc
[distutils]
index-servers =
staging
[staging]
repository: http://pypi/root/staging
username: buildbot
password: 12345678
从我的项目回购的根目录,我尝试构建和上传:
python.exe .\setup.py bdist_wheel upload --repository http://pypi/root/staging
但是,虽然轮子放在 dist\proj-20141216.2.dev0-py2-none-any.whl
中很好,但上传步骤的结果是:
running upload Submitting C:\var\buildminion\build_proj-dev\build\dist\proj-20141216.2.dev0-py2-none-any.whl to
http://pypi/root/staging
Upload failed (404): Not Found
运行 setuptools register
结果类似:
Registering snail to
http://pypi/root/staging
Server response (404): Not Found
我知道 devpi 服务器运行正常,因为我可以使用
手动上传文件devpi use http://pypi/root/staging
devpi login buildbot --password 12345678
devpi upload dist\proj-20141216.2.dev0-py2-none-any.whl
知道为什么设置工具 upload
不起作用吗?
此外,是否可以在没有 .pypirc 的情况下使用此上传功能(或自动填充该文件)?将来,我希望能够自动配置 buildbot minions,如果可以的话,我会避免这种额外的配置。
如果无法完成这项工作,我可以使用 devpi 编写手动上传脚本。我希望相同的 CI 代码适用于多个项目的多个版本,因此如果我不必编写代码来匹配 wheel 文件名会更容易。这就是为什么我更愿意使用 setuptools upload
。 pip
有上传功能吗?
问题是 url,对于 setup.py,您需要尾随“/”,因此请将您的配置更改为:
[distutils]
index-servers =
staging
[staging]
repository: http://pypi/root/staging/
username: buildbot
password: 12345678
而且您可能必须注册该项目,这对我来说是一个转折点:
python.exe .\setup.py bdist_wheel register -r staging
python.exe .\setup.py bdist_wheel upload -r staging