作为持续集成管道的一部分,我正在尝试从存储库构建 Python 轮文件,将其上传到自定义 devpi 服务器,并从那里对轮文件运行测试。
我尝试过的一种方法是使用 setuptools 在一行中构建和上传 wheel 文件,但这会返回 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
得很好,但上传步骤会导致:
运行上传提交 C:\var\buildminion\build_proj-dev\build\dist\proj-20141216.2.dev0-py2-none-any.whl 到
http://pypi/root/staging
上传失败(404):未找到
运行 setuptoolsregister
会产生类似的结果:
将蜗牛注册到
http://pypi/root/staging
服务器响应 (404):未找到
我知道 devpi 服务器运行正常,因为我可以手动上传文件
devpi use http://pypi/root/staging
devpi login buildbot --password 12345678
devpi upload dist\proj-20141216.2.dev0-py2-none-any.whl
任何想法为什么 setuptoolsupload
不起作用?
此外,是否有在没有 .pypirc 的情况下使用此上传功能(或自动填充该文件)?将来,我希望能够自动配置 buildbot minions,如果可以的话,这是我会避免的额外配置。
如果无法完成这项工作,我可以使用 devpi 编写手动上传脚本。我希望相同的 CI 代码适用于多个项目的多个版本,因此如果我不必编写代码来匹配轮子文件名会更容易。这就是我更喜欢使用 setuptools 的原因upload
。pip
有上传功能吗?