Python setup.py从文件上载

Python setup.py从文件上载,python,distutils,pypi,Python,Distutils,Pypi,要上载到PyPI,请运行python setup.py register sdist upload。但这需要重新生成源分布。作为发布过程的一部分,我希望能够独立于上传生成源分发。是否有一种从文件上传的方法,例如像python setup.py upload dists/mypackage.tar.gz这样的东西?上传将只推送从同一命令行运行的命令的产品文件,例如“sdist upload”。如果您运行“sdist”,检查结果,然后执行“sdist upload”,则第二个sdist应该完全相同,

要上载到PyPI,请运行
python setup.py register sdist upload
。但这需要重新生成源分布。作为发布过程的一部分,我希望能够独立于上传生成源分发。是否有一种从文件上传的方法,例如像
python setup.py upload dists/mypackage.tar.gz这样的东西?

上传将只推送从同一命令行运行的命令的产品文件,例如“sdist upload”。如果您运行“sdist”,检查结果,然后执行“sdist upload”,则第二个sdist应该完全相同,除非您的setup.py出现错误、您对文件进行了更改或计算机出现问题。(我同意这是一个很大的问题,除非)。因此,对于distutils来说,必须运行“sdist upload”并不是低效的,它可以让您明确地知道要推送的文件,这在我看来是很好的


(from)

埃里克·阿劳乔提到的问题提到了这个技巧:


“可以使用一个技巧来避免第二个sdist重做它的所有工作:首先运行“python setup.py sdist--keep temp”,然后检查sdist,然后上传你调用“python setup.py sdist--dry run upload”。我不赞成将这个技巧添加到文档中,对于正常使用,运行两次sdist是可以的。”

以我的经验,它不完全相同(即,它有一个不同的md5散列)。你知道为什么校验和不同吗?只是文件的创建时间不同,还是内容不同?我想一定有时间戳。我没有深入研究它。