问题:
The Situation 情况
I'm trying to port an open-source library to Python 3. ( SymPy , if anyone is wondering.) 我正在尝试将开放源代码库移植到Python3 。( SymPy ,如果有人想知道的话。)
So, I need to run 2to3
automatically when building for Python 3. To do that, I need to use distribute
. 因此,在为Python 3进行构建时,我需要自动运行2to3
。为此,我需要使用distribute
。 Therefore, I need to port the current system, which (according to the doctest) is distutils
. 因此,我需要移植当前系统(根据doctest)是distutils
。
The Problem 问题
Unfortunately, I'm not sure what's the difference between these modules— distutils
, distribute
, setuptools
. 不幸的是,我不确定这些模块( distutils
, distribute
, setuptools
之间有什么区别。 The documentation is sketchy as best, as they all seem to be a fork of one another, intended to be compatible in most circumstances (but actually, not all)…and so on, and so forth. 该文档最好是粗略的,因为它们似乎是彼此的一个分支,旨在在大多数情况下兼容(但实际上并非全部)……等等。
The Question 问题
Could someone explain the differences? 有人可以解释差异吗? What am I supposed to use? 我应该用什么? What is the most modern solution? 什么是最现代的解决方案? (As an aside, I'd also appreciate some guide on porting to Distribute
, but that's a tad beyond the scope of the question…) (顺便说一句,我也很感谢有关移植到Distribute
一些指南,但这超出了问题的范围……)
解决方案:
参考一: https://stackoom.com/question/QcNo/发行版-distutils-setuptools和distutils-之间的区别参考二: https://oldbug.net/q/QcNo/Differences-between-distribute-distutils-setuptools-and-distutils2
来源:oschina
链接:https://my.oschina.net/u/4438370/blog/4405510