在下面的链接中使用分发setuptools找到了一些关于将包从python 2移植到3的信息。
http://packages.python.org/distribute/python3.html
我有一个可以使用python 2.x构建的C api,但我需要在python 3.x中构建它。 可以使用分发来完成。
有人对此有所了解吗?
答案 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
类型用于处理原始二进制数据。