1

私は python 拡張機能を学習しようとしています。単純なnoddy の例のc ファイルと setup.py を作成しました。

python.exe setup.py build 私に与えます:

running build
running build_ext
building 'noddy' extension
creating build
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\python27\include -IC:\python27\PC /Tcnoddy.c /Fobuild\temp.win32-2.7\Release\noddy.obj
noddy.c
creating build\lib.win32-2.7
C:\Program Files\Microsoft Visual Studio 8\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\python27\libs /LIBPATH:C:\python27\PCbuild /EXPORT:initnoddy build\temp.win32-2.7\Release\noddy.obj /OUT:build\lib.win32-2.7\noddy.pyd /IMPLIB:build\temp.win32-2.7\Release\noddy.lib /MANIFESTFILE:build\temp.win32-2.7\Release\noddy.pyd.manifest
Creating library build\temp.win32-2.7\Release\noddy.lib and object build\temp.win32-2.7\Release\noddy.exp
C:\Program Files\Microsoft Visual Studio 8\VC\BIN\mt.exe -nologo -manifest build\temp.win32-2.7\Release\noddy.pyd.manifest -outputresource:build\lib.win32-2.7\noddy.pyd;2

次に、を実行すると、次のようになりpython.exe setup.py installます。

running install
running build
running build_ext
running install_lib
copying build\lib.win32-2.7\noddy.pyd -> C:\python27\Lib\site-packages
running install_egg_info
Writing C:\python27\Lib\site-packages\noddy-1.0-py2.7.egg-info

しかし、アイドル状態では、

>>> import noddy

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import noddy
ImportError: DLL load failed: The specified module could not be found.

それで、私は何を間違っていますか?確かに、私はひどく混乱しています。

4

1 に答える 1

3

モジュールをビルドするには、Visual Studio 2008 コンパイラを使用します。

VS8 は Visual Studio 2005 であり、そのバージョンでコンパイルされたモジュールは Python 2.7 と互換性がありません (Visual Studio 2010 でコンパイルされたモジュールにも同じことが当てはまります)。

于 2011-02-09T22:37:08.317 に答える