在Windows下构建cython程序的问题

时间:2011-02-02 21:10:08

标签: python windows-xp cython

我开始在配置了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盒子上尝试相同的例子,它运行正常。

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

1 个答案:

答案 0 :(得分:2)

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

只是一个猜测,但它可能遇到线路结束的问题?例如。如果该文件具有Unix '\n'行结尾,但在Windows上它期望Windows '\r\n'行结尾?

好的,所以反过来了。它期望'\n'行结尾,编辑器将它们转换为'\r\n'