Python setuptools
可以创建源代码分发:
python setup.py sdist # create a source distribution (tarball, zip file, etc.)
或二进制分发:
python setup.py bdist # create a built (binary) distribution
据我了解,不应有任何性能差异:
bdist
安装二进制包中已编译的.pyc
文件。sdist
将.py
个文件编译为.pyc
个文件,然后安装它们。执行时,编译.pyc
文件的方式无关紧要 - 它们应具有相同的性能。
dist
和sdist
python包之间是否存在性能差异?
答案 0 :(得分:4)
如果你有纯Python代码,那么部署时间的差异就会很小。请注意,.py
和.pyc
之间的效果没有差异,但后者第一次读取的速度会略快一些。所谓的优化 .pyo
只剥离断言,并且可选地去除文档字符串,因此它们没有得到很好的优化。
当您拥有C文件时,会发生很大的不同。如果正确引用,sdist将包含它们,但用户将需要一个有效的编译器,Python头文件等。此外,您将不得不花时间在每个客户端上构建它们。相同的分发对您部署的任何平台都有效。
另一方面,bdist编译一次代码。在客户端安装是立竿见影的,因为它们不需要构建任何东西,并且因为它们不需要安装编译器而更容易。缺点是你必须为该平台构建。只要您安装并配置了正确的工具,Setuptools就能够进行交叉编译。