可以使用分发setuptool将Python 2包转换为Python 3吗?

时间:2010-05-06 12:24:04

标签: python events python-3.x packages

  

可能重复:
  Can distribute setuptools be used to port packages implemented in python 2 to 3

此外,the tool是否可以轻松实现?

1 个答案:

答案 0 :(得分:2)

Distribute唯一能做的就是调用2to3脚本(Python 3提供),它使用一些自动转换将Python 2.x源代码转换为Python 3。基本上,您使用Python 2.x编写代码,并在Python 3上安装软件包时将Distribute转换为Python 3.

但Distribute不会为您做几件事:

  • 不会检查转换是否成功。您应该有一套相当详尽的单元测试来确保转换后的包的行为是正确的,因为并非所有转换都可以由2to3自动完成,而它将执行的其他一些转换可能没有意义。有关将真实Python包移植到Python 3的更多信息,请阅读this case study,特别是this section关于2to3未处理的事项。

  • 它不会转换使用Python的C API编写的模块(参见this question),您必须自己转换它们。