【发布时间】:2017-11-04 20:01:56
【问题描述】:
我有一个在 python2.7 下开发的 python 包,但我需要将它移植到 python3.6 。我在代码的某些部分使用了 cython,因此该软件包同时具有 .py 和 .pyx 文件。
我尝试了2to3 命令,但出现了一个我既无法理解也无法解决的错误。
示例:我有以下test.pyx 文件
# cython: profile=False
cimport cython
@cython.boundscheck(False)
@cython.wraparound(False)
@cython.profile(False)
cpdef sillyfunction():
print 'Thank you for your kind help'
return
然后我运行2to3 test.pyx。我得到的是:
user@machine:~$ 2to3 test.pyx
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Can't parse test.pyx: ParseError: bad input: type=1, value=u'cython', context=(u' ', (2, 8))
RefactoringTool: No files need to be modified.
RefactoringTool: There was 1 error:
RefactoringTool: Can't parse test.pyx: ParseError: bad input: type=1, value=u'cython', context=(u' ', (2, 8))
【问题讨论】:
标签: python cython python-2to3