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

Import DLL加载失败:可通过Spyder访问Python模块,但在cmd中导入失败,import,module,spyder,python-3.7,Import,Module,Spyder,Python 3.7,在这个话题上,我看到了很多或多或少相关的问题,但没有一个能帮助我找到解决问题的方法。 我不太熟悉Windows环境,如果我的问题在某种程度上听起来很明显,我深表歉意 设置: 视窗10 Python 3.7.0(通过最新的Anaconda版本安装) Spyder 3.3.1 我正在运行一个Python,它涉及几个模块的导入。我遇到了一些模块问题。例如: from PIL import Image as PIL_Image 在Spyder中工作平稳,但给出(法语错误消息,但我想你明白了):

在这个话题上,我看到了很多或多或少相关的问题,但没有一个能帮助我找到解决问题的方法。 我不太熟悉Windows环境,如果我的问题在某种程度上听起来很明显,我深表歉意

设置:

  • 视窗10
  • Python 3.7.0(通过最新的Anaconda版本安装)
  • Spyder 3.3.1
我正在运行一个Python,它涉及几个模块的导入。我遇到了一些模块问题。例如:

from PIL import Image as PIL_Image
在Spyder中工作平稳,但给出(法语错误消息,但我想你明白了):

  • 正在检查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之外失败的呢?

    好的,我找不到一个干净的方法,所以让我分享一下我的经验,以防有人觉得它有用

    与PIL相关的LIB的DLL故障似乎是一个已知问题。见进一步解释:

    我如何解决我的问题:

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

    这个dll在哪里?我搜索了_imaging,找到了两个相关的点击:一个在Anaconda3/Lib/site packages/PIL中,另一个在Anaconda3\pkgs\pillow-5.2.0-py37h08bbd_0\Lib\site packages\PIL
    Anaconda3/Lib/site packages/PIL
    中不在您的路径中,另一个也不在您的路径中。不知道Spyder或Anaconda有什么魔法。我更喜欢在终点站按原样运行。。很遗憾,我在这里没有用。看起来你正在使用Powershell,试着运行cmd,看看是否有效。不幸的是,cmd给出了完全相同的结果。
    $Env:path += ";C:\Users\my_user_name\Anaconda3;C:\Users\my_user_name\Anaconda3\Scripts"
    
     ['',
      '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']