1

我开始在配置了 Python 2.6 的 windows xp 机器上玩 cython。我试图在 Cython 网站上运行这个简单的示例,但是示例 .pyx 文件的转换立即失败并出现令人困惑的错误。

.pyx 文件是

def say_hello_to(name):
   print("Hello, %s" % name)

setup.py 看起来像

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("hello", ["hello.pyx"])]

setup(
   name = 'Hello world app',
   cmdclass = {'build_ext': build_ext},
   ext_modules = ext_modules
)

在命令窗口中,我执行命令

python setup.py build_ext --inplace

请注意,所有这一切正是网页所说的。

结果,我得到以下输出:

Error converting Pyrex file to C:
--------------------------------------------------------
...
def say_hello_to(name):
                      ^
--------------------------------------------------------

错误消息显示“无法识别的字符”。

我在 linux 机器上尝试了相同的示例,它工作正常。

这里有什么问题,为什么冒号被标记为无法识别?

4

1 回答 1

2

(重新发布作为答案,因为它显然解决了问题)

只是一个猜测,但它会在行尾方面遇到问题吗?例如,如果文件有 Unix'\n'行结尾,但在 Windows 上它需要 Windows'\r\n'行结尾?

好的,所以它是相反的方式。它需要'\n'行结尾,编辑器将它们转换为'\r\n'.

于 2011-02-02T21:46:29.130 回答