1

私はMinGWを使用して、Swigを使用してPythonCモジュールを構築しています。Pythonにモジュールをロードするように指示すると、失敗し、Pythonがモジュールを見つけられないと文句を言います。

面白いことに、モジュールはPythonを実行しているのと同じディレクトリにあり、モジュールの名前は_mod.pydです。(同じパスmod.pyで使用するファイルも生成しました。)_mod.pyd

信じられないほどイライラします!

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mod.py", line 25, in <module>
    _mod = swig_import_helper()
  File "mod.py", line 21, in swig_import_helper
    _mod = imp.load_module('_mod', fp, pathname, description)
ImportError: DLL load failed: The specified module could not be found.

それはきれいに構築され(私はdistutilsを使用しています)、すべてのdllはPATHに公開されているディレクトリにあります。

私はWindowsXP+ MinGWプラットフォーム(最新の安定したMinGW)を使用しています。

ありがとう!

4

3 に答える 3

1

これは一般的な問題です。MinGWではなくMSCでコンパイルされたPythonforWindowsのバイナリバージョンを使用している可能性があります。コマンドラインから実行すると、インタプリタが何を言っているかを確認できます。その場合、2つの選択肢があります。

  • MSCでモジュールをコンパイルするか、
  • MinGWでPythonインタープリターをコンパイルします。

後者のオプションについては、幸運を祈ります。私はそれをすることができたことがありません。

于 2010-02-18T09:21:39.833 に答える
0

MinGWサイトの「Python拡張機能を作成するにはどうすればよいですか?」という記事に出くわしました。

http://www.mingw.org/wiki/FAQ

pexportsにトリックがあることは知っていましたが、これを数回テストしましたが、ほとんどまたはまったく成功しませんでした(覚えています)。他の誰かがそれをうまく機能させることができましたか?

乾杯、

ct

アップデート

このチュートリアルも見つかりました-> http://boodebr.org/main/python/build-windows-extensions そしてこのチュートリアル-> http://www.mail-archive.com/modwsgi@googlegroups.com/msg04655.html

「setup.pybuild-cmingw32」を実行するのと同じくらい簡単だと思います。

于 2010-10-04T18:00:26.627 に答える
0

試しましたか:

python setup.py build --compiler = mingw32

于 2010-10-19T10:36:04.470 に答える