Может запускать скрипт из pycharm, но не из Terminal. ImportError: Ошибка загрузки DLL: указанный модуль не найден - PullRequest
0 голосов
/ 06 марта 2020
import PIL.ImageGrab

im = PIL.ImageGrab.grab()
im.show()

Работает в Pycharm, не формирует командную строку. Перепробовал много вещей, видно ниже, не уверен что еще поменять.

C:\Users\a.b>C:\Users\a.b\AppData\Local\Continuum\anaconda3\python.exe C:\Users\a.b\PycharmProjects\emlekezteto\screenshot.py

C:\Users\a.b>C:\Users\a.b\AppData\Local\Continuum\anaconda3\python.exe C:\Users\a.b\PycharmProjects\emlekezteto\screenshot.py
Traceback (most recent call last):
  File "C:\Users\a.b\PycharmProjects\emlekezteto\screenshot.py", line 1, in <module>
    import PIL.ImageGrab
  File "C:\Users\a.b\AppData\Local\Continuum\anaconda3\lib\site-packages\PIL\ImageGrab.py", line 20, in <module>
    from . import Image
  File "C:\Users\a.b\AppData\Local\Continuum\anaconda3\lib\site-packages\PIL\Image.py", line 90, in <module>
    from . import _imaging as core
ImportError: DLL load failed: The specified module could not be found.


    from . import _imaging as core
ImportError: DLL load failed: The specified module could not be found.

Вещи, которые я проверял:

1. Переводчик Pycharm такой же. В Pycharm и командной строке:

C:\Users\a.b\AppData\Local\Continuum\anaconda3\python.exe 

2. Даже если рабочая директория та же самая, то есть добавление нижеприведенного кода в коде, все равно проблема. По умолчанию это рабочий каталог в Pycharm при запуске формы там.

os.chdir(r'C:\Users\a.b\PycharmProjects\emlekezteto') 

3. Путь sys.path был другим, для Pycharm:

['C:\\Users\\a.b\\PycharmProjects\\emlekezteto', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pydev', 'C:\\Users\\a.b\\PycharmProjects\\emlekezteto', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pycharm_display', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\third_party\\thriftpy', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pydev', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\python37.zip', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\DLLs', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3', 'C:\\Users\\a.b\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\a.b\\PycharmProjects\\emlekezteto', 'C:/Users/a.b/PycharmProjects/emlekezteto']

в cmd:

['', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\python37.zip', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\DLLs', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3', 'C:\\Users\\a.b\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin']

Даже когда я расширяю sys.path всеми кодами Pycharm sys.path, жестко закодированными, он по-прежнему выдает ту же ошибку.

 import os
    print (os.getcwd())
    os.chdir(r'C:\Users\a.b\PycharmProjects\emlekezteto')
    print (os.getcwd())

    import sys; print(sys.path)

sys.path.extend(['C:\\Users\\a.b\\PycharmProjects\\emlekezteto', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pydev', 'C:\\Users\\a.b\\PycharmProjects\\emlekezteto', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pycharm_display', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\third_party\\thriftpy', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pydev', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\python37.zip', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\DLLs', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3', 'C:\\Users\\a.b\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin', 'C:\\Program Files\\JetBrains\\PyCharm 2019.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend', 'C:\\Users\\a.b\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\a.b\\PycharmProjects\\emlekezteto', 'C:/Users/a.b/PycharmProjects/emlekezteto'])

    print (sys.path)
    import PIL.ImageGrab
    im = PIL.ImageGrab.grab()
    im.show()

1 Ответ

1 голос
/ 09 марта 2020

Проверьте их, если вы их не видели, они кажутся похожими / релевантными:

https://github.com/python-pillow/Pillow/issues/2945

PIL: сбой загрузки DLL: указанная процедура не может быть найдена

...