

インタプリタからfoo.pydをimportすると正常にできて，同じフォルダ内にあるabcde.pydをimportすると次のエラーがでます．

[code]

    >>> import abcde
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
     ImportError: DLL load failed: 指定されたモジュールが見つかりません。
    
[/code]

同じフォルダにあるのでパスは問題ないと思い`dumpbin /exports`すると次のように関数`PyInit_*`も存在するようです．

[code]

    > dumpbin /exports abcde
     :
               1    0 00027CA0 PyInit_abcde
     :
    
[/code]

このような状態のとき，他に何の問題があると考えられますでしょうか？また，どのようにして確認できますでしょうか？

教えて頂ければ幸いです．ただし，どちらもC++からcythonで作成したpydで，foo.pydは自前の簡単なコードから作成したもので，もう一方はabcde.pydは他のライブラリをコンパイルしたものです（すみません具体的には明かせません）．


CC BY-SA 4.0
2018-12-13T08:10:26.807
51174
2018-12-13T12:51:27.860
2018-12-13T08:36:17.553
19110
31430
question
python python3 cython
pydがimportできない場合の対処法は？


> もう一方はabcde.pydは他のライブラリをコンパイルしたものです（すみません具体的には明かせません）．

その「他のライブラリ」とやらがDLLで、[適切な場所にないために](https://msdn.microsoft.com/ja-
jp/library/7d83bc18.aspx)ロードに失敗しているのではないですか?

「abcde.pyd」が単に見つからないのであれば、ImportErrorではなく、ModuleNotFoundErrorになると思います。


CC BY-SA 4.0
2018-12-13T12:51:27.860
51184
2018-12-13T12:51:27.860
15473
51174
answer