【发布时间】:2015-02-01 07:45:15
【问题描述】:
我最近升级到 python 3.4 以使用 continuum 工具,但我的许多脚本都是为 2.7 编写的。这可能会导致一些错误;有些很简单(比如“print”现在需要括号),但有些更复杂:
if struct.unpack("h", "\0\1")[0] == 1:
defs.append(("WORDS_BIGENDIAN", None))
产生错误:
File "setup.py", line 302, in build_extensions
if struct.unpack("h", "\0\1")[0] == 1:
TypeError: 'str' does not support the buffer interface
有没有办法像使用 C++(-std=c++11 等)一样将我的 python 代码运行为 2.x?如果我只解决这个问题,可能会出现更多错误。谢谢!
【问题讨论】:
-
我认为不是。你必须移植它。但有一些工具可以做到这一点。
-
python 3 附带的
2to3.py转换器将尝试为您更新代码,例如。但您可能还需要自己完成一些工作。 -
@ACSutton 请记得为有用的答案和 cmets 投票,并将解决您问题的答案标记为“已接受”。
-
感谢您链接到该答案!我没有看到它,但我仍然认为这个问题是相关的,原因有几个:我需要维护两个版本;这是特定于 linux 的;此处提供的答案对其他人有用。
标签: python linux software-distribution