0

スピードアップのために、Python/NumpyコードをCythonにコンパイルしようとしています。デスクトップで問題なくコンパイルできます-.pyxCythonファイルをラップトップにコピーして実行しました。コンパイルを試みた後、次のエラーが発生します。

C:\Python27\MATH7450>python setup.py build_ext --inplace
running build_ext
cythoning heat.pyx to heat.c
building 'heat' extension
C:\strawberry\c\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\lib\site-pa
ckages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c heat.c -o bu
ild\temp.win32-2.7\Release\heat.o
cc1.exe: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1

私はWindows764ビットを実行しています。ストロベリーパールを使っているようです。32ビットバージョンのストロベリーPerlをインストールしています。繰り返しになりますが、デスクトップでは問題なく動作しますが、ラップトップに移植するとこの奇妙なエラーが発生します。

4

2 に答える 2

2

CythonのWindowsインストール手順によると、推奨されるコンパイラは無料のVisual C ++ 2008 Expressであり、オフラインインストールのVisual Studio 2008Expressisoからインストールできます。

あるいは、CythonはMinGWとそのgccを使用できますが、これは報告によるとより難しいルートです。

質問に含まれている出力から、CythonはStrawberryPerlディストリビューションに含まれているMinGWインストールを使用しようとしています。

Visual C ++ 2008 Expressをインストールすることをお勧めします。これは、私の経験から、Cythonまたはその他のPythonC拡張モジュールのコンパイルに最適です。

于 2012-10-23T20:44:17.743 に答える
1

-mno-cygwininPython\Lib\distutils\cygwinccompiler.pyはこの問題を引き起こします:cythonとmingwでコンパイルするとgccが生成されます:エラー:認識されないコマンドラインオプション'-mno-cygwin'またはhttp://korbinin.blogspot.com/2013/03/cython-mno-cygwin-problems.html。私のPythonディストリビューション(Anaconda)cygwinccompiler.pyにはそれがありません。とにかく、クラス-mno-cygwinの定義からすべてを削除するとMingw32CCompiler、コンパイルできるようになります。

于 2013-04-11T21:25:57.037 に答える