上载python包而不重新生成

上载python包而不重新生成,python,distutils,Python,Distutils,我想构建一个python包,对构建工件运行测试,然后将python包上载到一个PyPI,而不重新构建包 我们正在构建一个CI/CD管道,并希望确保我们构建和测试的确切包是发布的,而不是事后重新构建的版本 当前,如果我运行以下命令: $ python setup.py egg_info -b .$BUILD_NUM sdist bdist_wheel 然后运行我的测试并运行: $ python setup.py egg_info -b .$BUILD_NUM sdist bdist_wheel

我想构建一个python包,对构建工件运行测试,然后将python包上载到一个PyPI,而不重新构建包

我们正在构建一个CI/CD管道,并希望确保我们构建和测试的确切包是发布的,而不是事后重新构建的版本

当前,如果我运行以下命令:

$ python setup.py egg_info -b .$BUILD_NUM sdist bdist_wheel
然后运行我的测试并运行:

$ python setup.py egg_info -b .$BUILD_NUM sdist bdist_wheel upload
然后文件上的时间戳显示该文件是第二次重新构建的


有没有一种方法可以在不重新构建文件的情况下提交文件?

通过在命令中使用
sdist
bdist\u wheel
,您可以明确地命令
setup.py
来重建包。如果您想上传而不重建,只需使用
python setup.py upload
。或者更好,使用;这是上传到PyPI的推荐方式

twine upload dist/*

twine查看
dist
,获取软件包名称和版本并上载软件包。

当您进行上载时,是否删除
sdist bdist\u wheel
?这些命令听起来像是在请求重建。您可能希望添加一个标记,指示您是在使用distutils还是setuptools。返回
错误:在以前的命令中未创建dist文件
。从我所能告诉你的,你需要指定你想要上传的发行版作为命令的一部分:那么使用distutils?一个简单的黑客方法就是上传后重新运行测试,以确保它仍然是洁食的。