1

Python2.6で構成されたWindowsXPマシンで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

これはすべて、Webページの指示どおりであることに注意してください。

その結果、次の出力が得られます。

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 に答える