2012-01-03 18 views
0

モジュールをPythonにインポートしようとしましたが、難しかったです。パスにディレクトリが表示されているにもかかわらず、Pythonモジュールをインポートできません

C:\MyModulesを含む環境変数PYTHONPATHを定義しました。

パスについて尋ねると、Python 2.7から次のようになります。

>>> import sys 
>>> sys.path 
['', 'C:\\MyModules', 'C:\\Python27\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages'] 

C:\MyModulesモジュールfoo.pydが含まれています。私はfoo.pydが他のコンピュータで動作するため、動作するモジュールであることを知っています。私がfooをインポートしようとする

、この問題が発生した:

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

をこれが起こってかもしれない考えられる理由は何ですか?

+1

ほとんどのサードパーティ製の依存関係はありません。 –

+0

foo.pydの場合は、自分のコンピュータにインストールしていないプログラムによって異なります。 – Derek

+3

これを実行してください:http://www.dependencywalker.com/ –

答えて

1

依存関係が見つからない場合は、Dependency Walkerまで実行してください。

コメントのご質問にお答えください。私はそれがインポートしようとしていたモジュールがCで書かれていると仮定することができます。これはPythonのバックトレースに影響します。

回答をとすることにしました。

+0

はい、それはC++で書かれており、良い推測です!私は、Pythonがバックトレースが正しく動作しなかった、またはこれらの行に沿った何かを不平を言っていないことに驚いています。なぜ私はPythonがモジュールを見つけられなかったのか疑問に思いました。 – Derek

+1

pythonモジュールを、第三者依存モジュールである見つからないモジュールと混同しないでください。 foo.pydが正しく見つかりましたが、読み込んだときにfoo.pydが依存するモジュールを見つけることができないという苦情があります。 – Glider

+0

さて、 'DLL load failed:'は、DLLが見つかりましたが、読み込みに失敗したと言っていましたか?そして、 '指定されたモジュール'は、 'import foo'を言ったときに私が指定したモジュールではなく、DLLによって指定されたものでしたか?それは理にかなっています。ありがとう。 – Derek

関連する問題