web-dev-qa-db-fra.com

PIL: DLL le chargement a échoué: la procédure spécifiée est introuvable.

J'ai commencé à travailler avec des images dans Python et je voulais commencer à utiliser PIL (Pillow). Pour l'installer, j'ai exécuté pip install Pillow. Lors de l'installation, PIL n'était pas installé auparavant. J'ai aussi essayé de le désinstaller et de le réinstaller, ainsi que d'utiliser pip3 install Pillow.

Lorsque je l'exécute en Python, ma première ligne est la suivante:

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.

J'ai vérifié le répertoire et le fichier _imaging.cp36-win_AMD64.pyd est présent dans le dossier PIL.

Pourquoi cela se produit-il si le fichier nécessaire DLL existe? Comment puis-je le réparer?

32
MLavrentyev

J'ai également eu ce problème avec Python 3.6. J'ai simplement évité le problème en désinstallant pillow (4.1.0), puis en installant une version plus ancienne de pillow (4.0.0). d'accord avec l'ancienne version.

40
Sean

Comme dans la réponse de Sean, je devais désinstaller (j'utilise Anaconda Python 3.6, BTW) avec

conda uninstall pillow

Je l'ai essayé avec PIL, mais il n'y en avait pas. Désinstaller pillow signifie également désinstaller les packages qui en dépendent, dans mon cas "anaconda-navigator" et "scikit-image". Après avoir réinstallé Pillow 4.0.0 avec

 conda install pillow=4.0.0

et testé avec

python -c "from PIL import Image"

si, en cas de succès, aucun message d'erreur ne s'affiche, j'ai réinstallé les packages désinstallés avec Pillow 4.1.0.

conda install anaconda-navigator
conda install scikit-image
23
Ed Bernal

Si vous utilisez Anaconda, essayez

conda uninstall pillow puis pip install pillow

Je suis tombé sur ce problème alors que je travaillais sur Caffe2 sous Windows 10 (Anaconda 4.5) et cela a fonctionné pour moi. Voici le post de github sur cette question.

5
rakidedigama

Ce problème est également résolu en mettant à niveau Python vers 3.6.1, par cette discussion sur GitHub .

La différence est que Pillow 4.1.0 a été construit avec Python 3.6.1 alors que Pillow 4.0.0 a été construit avec Python 3.6.0.

Apparemment PYTHON36.DLL de Python 3.6.0 manque des fonctions (PySlice_AdjustIndices et PySlice_Unpack) utilisés lors de la construction avec Python 3.6.1.

La solution consiste à mettre à niveau vers Python 3.6.1.

4
Joseph Montanaro

Il y a un problème dans Python lui-même, ce qui signifie que les roues binaires sont construites à l'aide de Python 3.6.1 (comme Pillow 4.1.0)) ne s'installera pas sur Python 3.6.0.

Cela a affecté un certain nombre de bibliothèques Python.

Cependant, la nouvelle version de Pillow 4.1.1 corrige ce problème. Vous pouvez donc mettre à jour vers Pillow 4.1.1 et l’utiliser avec les deux Python 3.6.0 et 3.6.1.

Plus d'informations:

2
Hugo

J'ai eu le même problème avec Anaconda 5.0.1, l'utiliser avec Caffe sur Windows 10. Je viens de le faire

conda install PIL

cela a fonctionné pour moi.

1
Khan

Il semble qu’un problème existe avec tensorflow 1.12.0 + Python 3.6.0 + win10

Fonctionne bien avec conda tensorflow.

les étapes ci-dessous ont fonctionné pour moi pour pip tensorflow.

désinstaller tensorflow remplace votre version de python avec la version 3.6.1, installez la dernière version de tensorflow (1.13.0)

Pour installer Tensorflow, suivez le lien ci-dessous: - https://www.tensorflow.org/install/pip

0
Rohit Gupta

Cela fonctionne pour moi en utilisant win10 et py 3.6. Désinstaller simplement Pillow 4.1.0 pip3 Désinstaller Pillow Puis installer Pillow 4.0.0 pip3 installer Pillow == 4.0.0

0
dsixnine