5


2

Windows上のCython pyximportエラー

私はCythonを使って最初の一歩を踏み出し、wikiのhttp://wiki.cython.org/InstallingOnWindows[instructions]に従って自分のマシンにインストールしました。

Cythonチュートリアルを進めながら、私はhttp://docs.cython.org/docs/tutorial.html#pyximport-cython-compilation-the-easy-way[pyximport]にアクセスしました。 しかし、それを使用しようとすると、次のようなエラーメッセージが表示されました(再フォーマット)。

ImportError: Building module failed:
DistutilsPlatformError('
    Python was built with Visual Studio 2003;
    extensions must be built with a compiler than can generate compatible binaries.
    Visual Studio 2003 was not found on this system. If you have Cygwin installed,
    you can try compiling with MingW32, by passing "-c mingw32" to setup.py.',)

だから私の質問は:誰もがpyximport mingwを使用する方法を知っていますか?

mingwは適切にインストールされているようで、Cythonモジュールを(setup.pyを使用して)_did_動作させるための長い道のりであり、wikiが教えてくれたように `+ distutils.cfg +`ファイルを作成しました。

3 回答


12


私は最近悩んでいてpyximport.installのsetup_args引数を発見しました。 これは私のために働く:

mingw_setup_args = {'オプション':{'build_ext':{'コンパイラ': 'mingw32'}}}} pyximportをインポートします。 pyximport.install(setup_args = mingw_setup_args)


10


http://groups.google.com/group/cython-users/browse_thread/thread/f6b4dea016a984de[多分(メーリングリストから)

c:\ Python2x \ Lib \ distutils \ distutils.cfg:

[build]
compiler = mingw32

[build_ext]
compiler = mingw32


1


「* pydistutils.cfg 」ファイルを自宅に作成して、「 C:¥Documents and Settings¥YourUsername¥pydistutils.cfg 」または「 C:¥Users¥YourUsername」のいずれかのパスを取得することもできます。 \ pydistutils.cfg * "#:。

それから加えて:

  • [build_ext] *

  • compiler = mingw32 *

そのファイルに。 あなたのパスに* "MinGW" のgccがあることも確認してください。 それ以降、 "import pyximport; pyximport.install()"を使用すると、cythonはあなたのホームフォルダの下に ".pyxbld"という名前のフォルダを生成するはずです(上記参照)。 Windowsでは、このフォルダはcythonによって生成されたすべての " .c"、 "。o"、 "。pyd"、 ".def *"ファイルを含みます。

ハッピーcythoning!