【问题标题】:Can run script from pycharm, but not from Terminal. ImportError: DLL load failed: The specified module could not be found可以从 pycharm 运行脚本,但不能从终端运行。 ImportError:DLL 加载失败:找不到指定的模块
【发布时间】:2020-12-24 16:50:21
【问题描述】:
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。 Pycharm 的 sys.path 不同:

['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']

即使我用代码中硬编码的所有 Pycharm sys.path 扩展 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()

【问题讨论】:

  • 如果您可以包含您已安装的确切版本将会很有帮助:PyCharm、python、anaconda、PIL 等。我在下面发布了几个链接,他们建议您可能有一个版本不匹配

标签: python python-3.x pycharm python-imaging-library python-import


【解决方案1】:

如果您还没有看过它们,请查看它们,它们看起来相似/相关:

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

PIL: DLL load failed: specified procedure could not be found

【讨论】:

  • 谢谢,按照github链接:不得不从anaconda的site_packages文件夹中手动删除pillow,然后使用pip install重新安装。
【解决方案2】:

这个问题确实困扰了我一段时间。 我在 Pycharm 中正常运行我的脚本。但是当我在终端运行它时它报告了这个错误。我导入的导致此错误的 2 个包是:

from ortools.linear_solver import pywraplp 
from pyscipopt import Model, quicksum

我在网上尝试了所有解决方案,但都没有奏效。最后我在导入上述包之前通过导入pandas解决了:

import pandas as pd

他们我可以在终端中正常运行脚本。这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 2021-09-12
    • 2013-12-10
    • 2016-08-19
    • 2016-08-22
    • 2018-10-23
    相关资源
    最近更新 更多