Ошибка загрузки DLL: модули Python доступны через Spyder, но импорт не удаётся в cmd - PullRequest
0 голосов
/ 16 февраля 2019

Я видел много более или менее связанных вопросов по этой теме, но ни один из них не помог мне найти способ решения моей проблемы.Я не очень знаком со средой Windows, извиняюсь, если мой вопрос в какой-то степени кажется очевидным.

Настройка:

  • Windows 10
  • Python 3.7.0(устанавливается через последнюю версию Anaconda)
  • Spyder 3.3.1

Я работаю на Python, который включает в себя импорт нескольких модулей.Я столкнулся с некоторыми проблемами модуля.Например:

from PIL import Image as PIL_Image

Работает гладко в Spyder, но дает (сообщение об ошибке на французском, но я думаю, вы поняли):

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "C:\Users\my_user_name\Anaconda3\lib\site-packages\PIL\Image.py", line 64, in <module>
    from . import _imaging as core
ImportError: DLL load failed: Le module spécifié est introuvable.

Если выполняется в Powershell или cmd.

Что я пробовал:

  • Добавление пути установки Anaconda к моей переменной path перед открытием Powershell:

    $Env:path += ";C:\Users\my_user_name\Anaconda3;C:\Users\my_user_name\Anaconda3\Scripts"
    
  • Проверка того, что sys.path одинаков в Powershell и Spyder.Для обоих это выглядит следующим образом:

     ['',
      'C:\\Users\\my_user_name',
      'C:\\Users\\my_user_name\\Anaconda3\\python37.zip',
      'C:\\Users\\my_user_name\\Anaconda3\\DLLs',
      'C:\\Users\\my_user_name\\Anaconda3\\lib',
      'C:\\Users\\my_user_name\\Anaconda3',
      'C:\\Users\\my_user_name\\AppData\\Roaming\\Python\\Python37\\site-packages',
      'C:\\Users\\my_user_name\\Anaconda3\\lib\\site-packages',
      'C:\\Users\\my_user_name\\Anaconda3\\lib\\site-packages\\win32',
      'C:\\Users\\my_user_name\\Anaconda3\\lib\\site-packages\\win32\\lib',
      'C:\\Users\\my_user_name\\Anaconda3\\lib\\site-packages\\Pythonwin',
      'C:\\Users\\my_user_name\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
      'C:\\Users\\my_user_name\\.ipython']
    

Что еще может объяснить, что мой импорт не работает вне Spyder?

1 Ответ

0 голосов
/ 19 февраля 2019

Хорошо, я не смог найти чистый выход, поэтому позвольте мне поделиться своим опытом на тот случай, если кто-то посчитает его полезным ...

Ошибка DLL в библиотеках, связанных с PIL, кажется известной проблемой.См. Дальнейшие объяснения:

Как я решил свою проблему:

  • Чисто удалите все, что связано с Python, на моем ноутбуке.Обе Анаконды, изолированные установки Python, Spyder ...
  • Переустановили последнюю Анаконду.Это происходит с Python 3.7.1 вместо 3.7.0
  • Повторно все мои установки PIP.Примечание. Мне пришлось добавить Anaconda \ Library \ bin в мой путь Windows, чтобы PIP работал полностью, чего я не помню, как это было в предыдущей установке.
...