64 votes

Installation de PIL (Python Imaging Library) sous Win7 64 bits, Python 2.6.4

J'essaie d'installer ladite bibliothèque pour l'utiliser avec Python. J'ai essayé de télécharger l'installateur exécutable pour Windows, qui fonctionne, mais dit qu'il ne trouve pas d'installation Python. J'ai ensuite essayé d'enregistrer ( http://effbot.org/zone/python-register.htm ) Python, mais le script dit qu'il ne peut pas s'enregistrer (bien que les clés apparaissent dans mon registre).

J'ai ensuite essayé de télécharger le paquet source : j'ai exécuté le setup.py build et cela fonctionne, mais lorsque j'exécute setup.py install, le message suivant apparaît :

running install
running build
running build_py
running build_ext
building '_imaging' extension
error: Unable to find vcvarsall.bat

Qu'est-ce que je peux faire ?

MISE À JOUR (mai 2014) : Comme l'ont dit certains commentaires et réponses, la LIP n'est actuellement pas entretenue, et la solution consiste à utiliser Pillow ( https://pypi.python.org/pypi/Pillow/ , pip install pillow ).

117voto

Vicky T Points 1315

J'ai trouvé un binaire win7 fonctionnel ici : Binaires Windows non officiels pour les paquets d'extension Python C'est de Christoph Gohlke de l'UC Irvine. Il existe des binaires pour python 2.5, 2.6, 2.7 , 3.1 et 3.2 pour Windows 32 bits et 64 bits.

Il y a beaucoup d'autres paquets compilés ici, aussi.

Veillez à désinstaller votre ancien LIPf d'abord. Si vous avez utilisé easy_install : easy_install -mnX pil
Et ensuite supprimer l'œuf dans python/Lib/site-packages

Assurez-vous de supprimer toutes les autres tentatives ratées. J'avais déplacé la dll _image dans Python*.*/DLLs et j'ai dû la supprimer.

29voto

chodorowicz Points 680

Je viens d'avoir le même problème (avec Python 2.7 et PIL pour cette version, mais la solution devrait fonctionner aussi pour 2.6) et la façon de le résoudre est de copier toutes les clés de registre à partir de :

HKEY_LOCAL_MACHINE\SOFTWARE\Python

à

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python

Cela a fonctionné pour moi

solution trouvée à l'adresse ci-dessous, les crédits doivent donc s'y rendre : http://effbot.slinkset.com/items/Adding_Python_Information_to_the_Windows_Registry

19voto

bobince Points 270740

La compilation de PIL sous Windows x64 est apparemment un peu difficile. (Eh bien, la compilation de n'importe quoi sous Windows est un peu difficile, d'après mon expérience. Mais quand même). En plus de PIL lui-même, vous aurez besoin de construire de nombreuses dépendances. Voir ces notes de la liste de diffusion également.

Il y a un binaire précompilé non officiel pour x64 lié à partir de ce message mais je ne l'ai pas essayé moi-même. Cela peut valoir la peine d'essayer si cela ne vous dérange pas que le téléchargement se fasse à partir d'un de ces sites de téléchargement de fichiers un peu douteux. Sinon... eh bien, vous pouvez toujours abandonner et remplacer le binaire Python 32 bits.

3voto

greg Points 31

Si vous avez installé un python win64, vous avez besoin d'un PIL win64. Le site officiel de téléchargement du PIL ne propose que win32, pour autant que je sache. L'installateur win32 ne verra pas votre installation python 64 bits.

Aucun bricolage avec les permissions ou les redistribuables ne pourra résoudre ce problème. Vous pouvez utiliser le python Win32 à la place (le python Win64 est mutant de toute façon ; Microsoft a décidé que les 'longs' C devaient être 32 bits dans leur monde 64 bits, donc les 'ints' python ne sont que 32 bits dans le python Win64).

Puisque sizeof(long)!=sizeof(ptr) en win64, le portage des extensions C peut être problématique, et ne sera pas le même que le portage sur linux 64. Par exemple, il semble que Win64 numpy soit expérimental ou cassé alors que linux64 numpy fonctionne bien depuis des années. Ma recommandation est que si vous utilisez win64, restez avec win32 python. Si vous voulez un python 64 bits, utilisez linux.

1voto

mlsteeves Points 1024

Je pense avoir eu un problème similaire dans le passé, avec une autre bibliothèque python. Je pense qu'il s'agissait d'un problème de permission Windows. Essayez d'ajouter "Users" à votre répertoire python, et donnez-leur un accès complet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X