Я продолжаю получать эту (известную) ошибку в iPython. Тем не менее, тот же импорт отлично работает на простом Python. (Python 3.3.5, см подробности ниже)iPython: Ошибка загрузки DLL: указанный модуль не найден; plain Python fine
IPython:
Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.
IPython 2.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import test1
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-7-ddb30f03c287> in <module>()
----> 1 import test1
ImportError: DLL load failed: The specified module could not be found.
Python (не только он загружает нормально, он также работает):
$ python
Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import test1
>>>
Теперь, Dependency Walker на test1. pyd показывает это
[ ? ] LIBGCC_S_DW2-1.DLL Error opening file. The system cannot find the file specified (2).
[ ? ] LIBSTDC++-6.DLL Error opening file. The system cannot find the file specified (2).
[ ? ] PYTHON33.DLL Error opening file. The system cannot find the file spec
Я даже переписал sys.path в iPython с одним из простого Python. Файл test1.pyd находится в C: \ Test.
['c:\\Test',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\python33.zip',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\DLLs',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\lib',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\lib\\site-packages',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\lib\\site-packages\\FontTools',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\lib\\site-packages\\win32',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\lib\\site-packages\\win32\\lib',
'c:\\WinPython-32bit-3.3.5.0\\python-3.3.5\\lib\\site-packages\\Pythonwin']
Почему импорт должен работать на простом Python, но не в iPython?
Можно добавить в последовательность запуска для IPython, то есть показать выходную информацию вы получаете, когда начинаете iPython? (Как вы сделали для Python.) – Evert
Решил мою проблему в том смысле, что теперь я могу использовать iPython. Это зависит от того, как я начинаю iPython, но это совсем другая история. Если я запустил его из командной строки, просто запустив «ipython», тогда он отлично работает. Тем не менее, если я запустил его, вызвав файл bat, содержащий команду «ipython» (т. Е. Из меню), тогда он терпит неудачу. Но все, что пойдет не так, похоже, не отражается ни в последовательности запуска, ни в sys.path - что в обоих случаях одинаково. –
Чтобы устранить любые сомнения по поводу того, что ipython, ipython и ipython3 в WinPython-32bit-3.3.5.0 \ python-3.3.5 \ Scripts работают при вызове напрямую, выходят из строя при вызове через файл bat. –