DLL加载失败:可通过Spyder访问的Python模块但是在cmd中导入失败

时间:2019-02-16 07:31:00

标签: import module spyder python-3.7

我已经看到或多或少与此主题相关的问题,但没有一个帮助我找到解决问题的方法。 我对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中执行。

我尝试过的事情:

  • 在打开Powershell之前,将Anaconda的安装路径附加到我的path变量中:

    $Env:path += ";C:\Users\my_user_name\Anaconda3;C:\Users\my_user_name\Anaconda3\Scripts"
    
  • 检查Powershell和Spyder中的sys.path是否相同。对于这两者,它看起来像:

     ['',
      '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 :(得分:1)

好吧,我找不到干净的出路,所以让我分享一下我的经验,以防有人觉得有帮助...

与PIL相关的DLL导致的DLL故障似乎是一个已知问题。查看更多说明:

我如何解决我的问题:

  • 在笔记本电脑上干净地卸载了与Python相关的所有内容。既有Anaconda,也有孤立的Python安装,还有Spyder ...
  • 重新安装了最新的Anaconda。它恰巧是Python 3.7.1而不是3.7.0
  • 重新安装我的PIP。请注意,我必须在Windows路径上附加 Anaconda \ Library \ bin ,PIP才能完全正常工作,我不记得以前的安装已经完成。