可以分发setuptools用于移植在python 2到3中实现的包

时间:2010-05-05 15:36:40

标签: python c build python-3.x packages

在下面的链接中使用分发setuptools找到了一些关于将包从python 2移植到3的信息。

http://packages.python.org/distribute/python3.html

我有一个可以使用python 2.x构建的C api,但我需要在python 3.x中构建它。 可以使用分发来完成。

有人对此有所了解吗?

2 个答案:

答案 0 :(得分:3)

不,使用Distribute无法完成。 Distribute只在构建阶段调用2to3脚本,但2to3只能在Python 2.x源文件和Python 3.x源文件之间进行转换。对于C API,您必须通过手动调整代码以使用两个Python API进行编译来实现。

可以找到Python 2.x和Python 3.x之间非常不完整的C API更改列表here。同一文档还概述了Python源代码级别上Python 2.x和3.x之间的主要区别。

答案 1 :(得分:0)

distriubte使用Python's 2to3 tool自动(尝试)将Python 2代码转换为Python 3代码。但是,这仅适用于用Python编写的代码。 C代码需要手动移植。

好消息是Python的C API在Python 2.6和3.1之间没有太大变化。主要区别在于Python 3现在对所有字符串都使用Unicode,并且有一个单独的bytes类型用于处理原始二进制数据。