2017-04-06 133 views
12

我已經開始在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

回答

19

我有這個問題以及與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破壞一切並不正常。應該有某種測試或任何檢查。 –

7

正如肖恩的答案,我不得不卸載(我使用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 –

2

通過將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://stackoverflow.com/a/43723021/724176 – Hugo

0

這適用於我使用win10和py 3.6。 只需卸載枕頭4.1.0 PIP 3卸載枕頭 然後安裝枕頭4.0.0 PIP3安裝枕頭== 4.0.0

1

有一個在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一起使用。

更多信息:

1

我有蟒蛇5.0.1同樣的問題,使用它與朱古力在Windows 10,我只是做

conda install PIL

它爲我工作。

相關問題