2011-02-09 12 views
1

私はPythonの拡張機能を学ぼうとしていて、単純なnoddy exampleのcファイルとsetup.pyを作成しました。はPythonの拡張子をインポートできません

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. 

を、私は何をやっています違う?確かに、私はひどく混乱しています。

+1

恐らく疑問な質問ですが、 'import'しようとしているときにPython 2.7を使用していますか? –

+0

前にPythonをインストールしたことのないマシンにクリーン2.7をインストールしました。バージョンを与えるIdleから呼び出す方法はありますか? – Nate

+0

Pythonのバージョンを取得するには、 'import sys; sys.version_info'となります。あなたはあなたのsetup.pyを投稿できますか? – chmullig

答えて

3

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

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

+0

うわー、いいプロ・ティップ。 – chmullig

+0

それは私の問題ですが、私の会社で働いているように、VS 2005用に構築されたPython 2.7を見つける場所がありますか?私は別のセットアップを使用して習うのはうれしいですが、私は彼らがビルドシステムに組み込むことを望んでいないと思います。 – Nate

+0

単にVS2008 Express版 – ThiefMaster

関連する問題