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包之间有任何性能差异吗?
解决方法:
如果您有纯Python代码,那么部署时间的差异将很小.请注意,.py和.pyc之间的性能没有差别,除了后者第一次读取稍快一些.所谓的优化.pyo只剥离断言,并且可选地去除文档字符串,因此它们没有得到很好的优化.
当你有C文件时,差别很大.如果正确引用,sdist将包含它们,但用户将需要一个有效的编译器,Python头文件等.此外,您将不得不花时间在每个客户端上构建它们.相同的分发对您部署的任何平台都有效.
另一方面,bdist编译一次代码.在客户端安装是立竿见影的,因为它们不需要构建任何东西,并且因为它们不需要安装编译器而更容易.缺点是你必须为该平台构建.只要您安装并配置了正确的工具,Setuptools就能够进行交叉编译.