【问题标题】:DLL load failed : Python modules accessible through Spyder but import fail in cmdDLL 加载失败:可通过 Spyder 访问的 Python 模块,但在 cmd 中导入失败
【发布时间】:2019-07-10 06:41:15
【问题描述】:

我已经看到了许多或多或少与此主题相关的问题,但没有一个能帮助我找到解决问题的方法。 我对 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 的安装路径附加到我的路径变量中:

    $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 之外失败的原因?

【问题讨论】:

  • 这个dll在哪里?
  • 我在 _imaging 上进行了搜索,发现了两个相关命中:一个在 Anaconda3/Lib/site-packages/PIL 中,一个在 Anaconda3\pkgs\pillow-5.2.0-py37h08bbbbd_0\Lib\site-包\PIL
  • Anaconda3/Lib/site-packages/PIL 不在您的路径中,也不在另一个路径中。不知道 Spyder 或 Anaconda 做了什么样的魔法。我更喜欢按原样在终端中运行。所以很遗憾,我在这里没用。
  • 看来你使用的是Powershell,试试运行cmd看看是否可行。
  • 不幸的是,cmd 给出的结果完全相同。

标签: import module spyder python-3.7


【解决方案1】:

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

PIL 相关库的 DLL 故障似乎是一个已知问题。查看更多解释:

我是如何解决我的问题的:

  • 在我的笔记本电脑上彻底卸载了与 Python 相关的所有内容。 Anaconda、独立的 Python 安装、Spyder ...
  • 重新安装了最新的 Anaconda。它恰好与 Python 3.7.1 而不是 3.7.0 一起提供
  • 重新安装了所有的 PIP。请注意,我必须将 Anaconda\Library\bin 附加到我的 Windows 路径才能使 PIP 完全工作,我不记得我以前的安装完成了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-14
    • 2018-08-13
    • 2011-02-07
    • 1970-01-01
    • 2011-05-03
    • 2019-01-16
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多