如何使用python 3.4分发模块

时间:2014-07-03 12:07:29

标签: python python-3.x package

我在Python Docs上看到,自Python 3.4以来,distutils是“遗留的”。什么是分发包和/或模块的推荐(或标准)方式。 感谢

2 个答案:

答案 0 :(得分:4)

嗯,distutils模块的文档说明了一切:

  

distutils包提供了对构建和安装的支持   附加模块到Python安装中。新模块可能是   100%-pure Python,或者可能是用C编写的扩展模块,或者   可能是Python包的集合,其中包含编码的模块   Python和C。

     

大多数Python用户不希望直接使用此模块,但是   改为使用Python Packaging维护的跨版本工具   权威。有关详细信息,请参阅Python Packaging User Guide   信息。

     

为了寻求更深层次的包装工具作者和用户的好处   了解当前包装和分销的细节   系统,基于遗留distutils的用户文档和API   参考仍然可用:

     

特别是在他们陈述的linked user guide内:

  
      
  • 使用setuptools定义项目并创建源分发。 [5] [6]
  •   
  • 使用滚轮项目中提供的bdist_wheel setuptools扩展名来创建轮子。如果你的话,这尤其有益   project包含二进制扩展。 [7]
  •   
  • 使用twine将分发上传到PyPI。
  •   

后来:

  

distributesetuptools的一个分支,已合并回来   setuptools(在v0.7中),从而使 setuptools成为主要选择   Python包装。


换句话说:

  • distutils 仍然标准方式。只是,它比大多数人想要的更低。它是基于其他工具构建的基础,因此“遗留”。事实上,在文档中没有提及弃用
  • setuptools是分发软件包的首选方式。

答案 1 :(得分:1)

根据Python Packaging User Guide,建议使用setuptools然后twine来创建PyPi包。