PIL:DLL加载失败:无法找到指定的程序

问题描述:

我已经开始在Python中使用图像,我想开始使用PIL(Pillow)。要安装它,我跑了pip install Pillow。安装时,先前未安装PIL。我也尝试卸载它并重新安装它,以及使用pip3 install PillowPIL:DLL加载失败:无法找到指定的程序

当我在Python运行它,我的第一行是:

File "C:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 56, in <module> 
from . import _imaging as core 
ImportError: DLL load failed: The specified procedure could not be found. 

我检查了目录和文件_imaging.cp36-win_amd64.pyd是PIL文件夹下存在。

为什么会发生这种情况,如果所需的DLL在那里?我该如何解决它?

+0

如果您将_ \ _ imaging.cp36-win \ _amd64.pyd_重命名为_ \ _ imaging.pyd_,会发生什么情况? – CristiFati

+0

我试过这样做,但没有帮助。我收到了和以前一样的错误。 – MLavrentyev

+0

什么是您正在运行的_Win_版本(我怀疑与架构不匹配有关)? – CristiFati

我有这个问题以及与Python 3.6。我只是通过卸载枕头(4.1.0),然后安装旧版本的枕头(4.0.0)来避免这个问题。它似乎与旧版本运行良好。

+1

卸载4.1.0并做pip安装Pillow == 4.0.0为我工作python 3.6.0,windows 10 – Ted

+0

你解决了我的一天!在Win10和Python 3.6.0中为我工作 – emepe

+0

相同!从4.0.0到4.1破坏一切并不正常。应该有某种测试或任何检查。 –

正如肖恩的答案,我不得不卸载(我使用Python的蟒蛇3.6 BTW)与

conda uninstall pillow 

我与PIL试过,但没有这样的包。卸载枕头也意味着卸载依赖它的软件包,在我的情况下是“anaconda-navigator”和“scikit-image”。我重新安装了枕头4.0.0后

conda install pillow=4.0.0 

python -c "from PIL import Image" 

,如果成功了,你没有看到一个错误信息进行了测试,我重新安装了与枕头一起被卸载这些程序包4.1.0。

conda install anaconda-navigator 
conda install scikit-image 
+0

这不适合我。使用Windows 10和Python 3.5 –

通过将Python升级到3.6.1,每this GitHub discussion也解决了此问题。

不同之处在于Pillow 4.1.0是用Python 3.6.1构建的,而Pillow 4.0.0是用Python 3.6.0构建的。

显然来自Python 3.6.0的PYTHON36.DLL缺少在使用Python 3.6.1构建时使用的函数(PySlice_AdjustIndicesPySlice_Unpack)。

解决方案是升级到Python 3.6.1。

+1

Pillow 4.1.1现在可以用于Python 3.6.0和3.6.1。更多信息:http://*.com/a/43723021/724176 – Hugo

这适用于我使用win10和py 3.6。 只需卸载枕头4.1.0 PIP 3卸载枕头 然后安装枕头4.0.0 PIP3安装枕头== 4.0.0

有一个在Python本身的问题,这意味着使用Python 3.6.1二进制轮建造(如枕头4.1.0)不会在Python 3.6.0上安装。

这影响了很多Python库。

但是,新的Pillow 4.1.1版本可以解决此问题,因此您现在可以更新到Pillow 4.1.1并将它与Python 3.6.0和3.6.1一起使用。

更多信息:

我有蟒蛇5.0.1同样的问题,使用它与朱古力在Windows 10,我只是做

conda install PIL

它为我工作。