Comment installer un package Python avec un fichier .whl?


874

J'ai du mal à installer un package Python sur ma machine Windows et je voudrais l'installer avec les binaires Windows de Christoph Gohlke. (Ce qui, d'après mon expérience, a atténué une grande partie de l'agitation pour de nombreuses autres installations de packages). Cependant, seuls les fichiers .whl sont disponibles.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype

Mais comment installer les fichiers .whl?

Remarques

  • J'ai trouvé des documents sur la roue , mais ils ne semblent pas si simples à expliquer comment installer les fichiers .whl.
  • Cette question est en double avec cette question , qui n'a pas été répondu directement.


13
Qu'est-ce qui a motivé ce passage de exe à whl de toute façon? Habituellement, les gens essaient de rendre les choses plus faciles à utiliser plutôt que plus difficiles.
rhaskett

5
@rhaskett l'avantage par rapport à .exe est que les éditeurs ne doivent télécharger qu'une seule roue (généralement) pour prendre en charge toutes les versions de Python. Vous avez raison cependant, les roues sont moins faciles à installer pour les utilisateurs. Ce serait bien si vous pouviez double-cliquer sur les fichiers .whl.
Colonel Panic


2
pip install ...ne nécessite pas le paquet de roues ; pip wheel ...Est-ce que.
cgohlke

Réponses:


1039

Je viens d'utiliser le texte suivant qui était assez simple. Ouvrez d'abord une console puis un cd à l'endroit où vous avez téléchargé votre fichier comme some-package.whl et utilisez

pip install some-package.whl

Remarque: si pip.exe n'est pas reconnu, vous pouvez le trouver dans le répertoire "Scripts" à partir duquel python a été installé. Si pip n'est pas installé, cette page peut vous aider: Comment installer pip sous Windows?

Remarque: pour plus de précisions
Si vous copiez le *.whlfichier sur votre lecteur local (ex. C: \ certains-dir \ certains-fichier.whl ) utilisez les paramètres de ligne de commande suivants -

pip install C:/some-dir/some-file.whl

45
Vous n'en avez pas besoin pip install wheel. La commande pip install some-package.whlest suffisante. Assurez-vous seulement que pip est mis à jour, comme indiqué par burhan-khalid.
divenex

7
En outre, vous devez ouvrir l'invite de commande en tant qu'administrateur afin d'exécuter pip dans Windows
M. Alexander

60
python -m pip install some-package.whlfonctionne également si pip n'est pas trouvé dans PATH.
Dunes

32
L'installation d'un module Python dans un cadre hors ligne est exaspérante. Pas de pip évidemment. OK donc il y a un setup.py ... Mais ça ne marche pas? Oh, cela nécessite des setuptools. Magnifique. Ok, installez setuptools - qu'est-ce que c'est, .whl? Oh, cela nécessite pip! J'ai l'impression d'être coincé dans une boucle.
GVH

7
Pour python 3, j'ai utilisé à la pip3place de pip(j'avais 2,7 et maintenant 3,4). Quoi qu'il en soit, c'est un rappel amical qui pip3est parfois ce dont vous avez besoin.
geneorama

63

Tout d'abord, assurez-vous d'avoir mis à jour pip pour activer le support des roues:

pip install --upgrade pip

Ensuite, pour installer à partir de la roue, donnez-lui le répertoire où la roue est téléchargée. Par exemple, pour installerpackage_name.whl :

pip install --use-wheel --no-index --find-links=/where/its/downloaded package_name

11
Qu'est-ce que la "roue"?
Peter Mortensen

2
Utiliser sans --use-wheeldans pip 19.0.1 (python 2.7)
Rado

1
@PeterMortensen le format du paquet, ce qui whlest une abréviation pour
OrangeDog

19

Je suis dans le même bateau que l'OP.

À l'aide d'une invite de commande Windows, à partir du répertoire:

C:\Python34\Scripts>
pip install wheel

semblait fonctionner.

En changeant le répertoire à l'endroit où se trouvait le whl, il me dit simplement que «pip n'est pas reconnu». Revenir à C:\Python34\Scripts>, puis utiliser la commande complète ci-dessus pour fournir l'emplacement «où / son / téléchargé», dit-il Requirement 'scikit_image-...-win32.whl' looks like a filename, but the filename does not exist.

J'ai donc déposé une copie du fichier .whl dans Python34 / Scripts, exécuté à nouveau la même commande exacte (avec le --find-links=reste dans l'autre dossier), et cette fois, cela a fonctionné.


10
@EinarSundgren Je ne suis pas d'accord, il a énuméré toutes les étapes qui l'ont amené à résoudre le problème de l'op.
runDOSrun

1
Pour éviter d'avoir à rester dans le C:\Python34\Scriptsrépertoire lors de l'exécution de pip, ajoutez plutôt ce répertoire au chemin système. Pour ceux qui ne savent pas comment: windowsitpro.com/systems-management/...
Godsmith

3
Un exemple supplémentaire, après avoir ouvert l'invite de commande, je viens de coller dans cela et appuyez sur Entrée. Rien d'autre n'est requis: C:\Python34\python.exe -m pip install requests il a automatiquement téléchargé le package «demandes» et l'a installé.
Dennis Jaheruddin

Ce dernier commentaire a parfaitement fonctionné pour moi. Pourrait être publié comme réponse!
Yohan Obadia

19

Il existe plusieurs versions de fichiers sur le grand site de Christoph Gohlke.

Quelque chose que j'ai trouvé important lors de l'installation de roues à partir de ce site est de l'exécuter d'abord à partir de la console Python:

import pip
print(pip.pep425tags.get_supported())

afin que vous sachiez quelle version vous devez installer pour votre ordinateur. Choisir la mauvaise version peut échouer l'installation du package (surtout si vous n'utilisez pas la bonne balise CPython, par exemple, cp27).


1
Merci, j'ai eu du mal à trouver cette info! Cependant, je ne sais pas comment lire la sortie pour déterminer la version dont j'ai besoin.
Johndt6

13

Vous devez exécuter pip.exe à partir de l'invite de commandes sur mon ordinateur. J'écrisC:/Python27/Scripts/pip2.exe install numpy


1
Je n'ai pas de Scriptsrépertoire. Pip n'est-il pas livré avec une installation régulière?
jozxyqk

@jozxyqk: non. Regardez ici pour les instructions d'installation: pip.pypa.io/en/latest/installing.html
Godsmith

8

Sous Windows, vous ne pouvez pas simplement mettre à niveau en utilisant pip install --upgrade pip, car le pip.exeest en cours d'utilisation et il y aurait une erreur en le remplaçant. Au lieu de cela, vous devriez mettre pipà niveau comme ceci:

easy_install --upgrade pip

Vérifiez ensuite la pipversion:

pip --version

S'il montre des 6.xséries, il y a un support de roue.

Alors seulement, vous pouvez installer un ensemble de roues comme celui-ci:

pip install your-package.whl

1
Je viens de mettre à jour pip sur Windows 7 en utilisant pip install --upgrade pipet cela a bien fonctionné, de sorte qu'une partie de ce que vous dites semble incorrecte.
martineau

1
Peut-être que les gars du pip s'en rendent compte et résolvent le problème dans les versions plus récentes ... Je ne sais pas. Au moins, lorsque la réponse a été publiée (début 2015), j'ai rencontré l'erreur.
Rockallite

Tu as probablement raison. En fait, la plupart du temps, pip me dit qu'il existe une version plus récente et propose de se mettre à niveau, donc je le fais rarement manuellement.
martineau

1
En exécutant Python 3.5.2 sur Windows 10, "python -m pip install --upgrade pip" vient de mettre à jour avec succès pip-8.1.1 vers pip-8.1.2
Dave Burton

6

Pour pouvoir installer des fichiers de roue avec un simple double-clic dessus, vous pouvez effectuer l'une des opérations suivantes:

1) Exécutez deux commandes en ligne de commande avec des privilèges d'administrateur:

assoc .whl=pythonwheel
ftype pythonwheel=cmd /c pip.exe install "%1" ^& pause

2) Alternativement, ils peuvent être copiés dans un wheel.batfichier et exécutés avec la case à cocher 'Exécuter en tant qu'administrateur' dans les propriétés.

PS pip.exe est supposé être dans le CHEMIN.

Mise à jour:

(1) Ceux-ci peuvent être combinés en une seule ligne:

assoc .whl=pythonwheel& ftype pythonwheel=cmd /c pip.exe install -U "%1" ^& pause

(2) La syntaxe des fichiers .bat est légèrement différente:

assoc .whl=pythonwheel& ftype pythonwheel=cmd /c pip.exe install -U "%%1" ^& pause

De plus, sa sortie peut être rendue plus verbeuse:

@assoc .whl=pythonwheel|| echo Run me with administrator rights! && pause && exit 1
@ftype pythonwheel=cmd /c pip.exe install -U "%%1" ^& pause || echo Installation error && pause && exit 1
@echo Installation successfull & pause

voir mon article de blog pour plus de détails.


Utile! Merci, axil et Anthony. Vraisemblablement, pour éviter de dépendre du dossier Scripts dans le chemin, vous pouvez utiliser: cmd / c python -m pip install "% 1" & pause
Dave Burton

Eh bien, j'avais tort. Vous devez utiliser pip.exe. Cependant, un autre problème est que si vous utilisez la commande ftype comme indiqué, la «pause» s'exécutera à l'invite de commandes, plutôt que d'être stockée dans le Registre dans le cadre de l'association de fichiers. Vous devrez exécuter regedit pour ajouter le "& pause" dans la commande shell dans le registre. (Il suffit de rechercher le registre pour pythonwheel.)
Dave Burton

@DaveBurton J'ai corrigé et mis à jour ma réponse. Je vous remercie.
axil

3

EDIT: CE N'EST PLUS UNE PARTIE DU PIP

Pour éviter d'avoir à télécharger de tels fichiers, vous pouvez essayer:

pip install --use-wheel pillow

Pour plus d'informations, voir ceci .


assurez-vous d'avoir installé la dernière version de pip avant via python -m pip install --upgrade pip
andyw

2

Dans le cas où vous ne pouvez pas installer un package spécifique directement à l'aide de PIP.

Vous pouvez télécharger un .whlpackage spécifique (roue) à partir de - https://www.lfd.uci.edu/~gohlke/pythonlibs/

CD (Changer de répertoire) vers ce package téléchargé et installez-le manuellement par -
pip install PACKAGENAME.whl
ex:
pip install ad3‑2.1‑cp27‑cp27m‑win32.whl


1

La seule façon dont j'ai réussi à installer NumPy était la suivante:

J'ai téléchargé NumPy à partir d'ici https://pypi.python.org/pypi/numpy

Ce module

https://pypi.python.org/packages/d7/3c/d8b473b517062cc700575889d79e7444c9b54c6072a22189d1831d2fbbce/numpy-1.11.2-cp35-none-win32.whl#md5=e485e06907826af5e1fc88608d0629a2

Exécution de commandes à partir du chemin d'installation de Python dans PowerShell

PS C:\Program Files (x86)\Python35-32> .\python -m pip install C:/Users/MyUsername/Documents/Programs/Python/numpy-1.11.2-cp35-none-win32.whl
Processing c:\users\MyUsername\documents\programs\numpy-1.11.2-cp35-none-win32.whl
Installing collected packages: numpy
Successfully installed numpy-1.11.2
PS C:\Program Files (x86)\Python35-32>

PS: je l'ai installé sur Windows 10.


1

Vous pouvez installer le fichier .whl à l'aide de pip install filename. Bien que pour l'utiliser sous cette forme, il devrait être dans le même répertoire que votre ligne de commande, sinon spécifiez le nom de fichier complet, ainsi que son adresse commepip install C:\Some\PAth\filename .

Assurez-vous également que le fichier .whl est de la même plate-forme que vous utilisez, effectuez une python -Vpour savoir quelle version de Python vous utilisez et s'il s'agit de Win32 ou 64, installez la version appropriée en fonction de celle-ci.


1

Ce que j'ai fait, c'est d'abord mettre à jour le pip en utilisant la commande: pip install --upgrade pippuis j'ai également installé la roue en utilisant la commande: pip install wheelet ensuite cela a parfaitement fonctionné.

J'espère que cela fonctionne pour vous, je suppose.


0

Les nouveaux utilisateurs de Python sous Windows oublient souvent d'ajouter le répertoire \ Scripts de Python à la variable PATH lors de l'installation. Je recommande d'utiliser le lanceur Python et d'exécuter pip en tant que script avec le -mcommutateur. Ensuite, vous pouvez installer les roues pour une version Python spécifique (si plusieurs sont installées) et le répertoire Scripts n'a pas besoin d'être dans le CHEMIN. Alors ouvrez la ligne de commande, naviguez (avec lecd commande) au dossier où se trouve le fichier .whl et entrez:

py -3.6 -m pip install your_whl_file.whl

Remplacez 3.6par votre version Python ou entrez simplement-3 si la version Python souhaitée apparaît en premier dans le CHEMIN. Et avec un environnement virtuel actif: py -m pip install your_whl_file.whl.

Bien sûr, vous pouvez également installer des packages à partir de PyPI de cette manière, par exemple

py -3.6 -m pip install pygame

0

Je vous suggérerais la façon exacte d'installer le fichier .whl. Au départ, j'ai rencontré de nombreux problèmes, mais je l'ai résolu, voici mon astuce pour installer les fichiers .whl.

Suivez les étapes correctement pour obtenir un module importé

  1. Assurez-vous que votre fichier .whl est conservé dans le dossier python 2.7 / 3.6 / 3.7 / ... Initialement, lorsque vous téléchargez le fichier .whl, le fichier est conservé dans le dossier téléchargé, ma suggestion est de changer le dossier. Il facilite l'installation du fichier.
  2. Ouvrez l'invite de commande et ouvrez le dossier dans lequel vous avez conservé le fichier en entrant

cd c: \ python 3.7

3.Maintenant, entrez la commande écrite ci-dessous

>py -3.7(version name) -m pip install (file name).whl
  1. Cliquez sur Entrée et assurez-vous de saisir la version que vous utilisez actuellement avec le nom de fichier correct.

  2. Une fois que vous appuyez sur Entrée, attendez quelques minutes et le fichier sera installé et vous pourrez importer le module particulier.

  3. Afin de vérifier si le module est installé avec succès, importez le module en veille et vérifiez-le.

Je vous remercie:)


0

Téléchargez le package (.whl).

Placez le fichier dans le dossier de script du répertoire python

C:\Python36\Scripts

Utilisez l'invite de commande pour installer le package.

C:\Python36\Scripts>pip install package_name.whl

-1

Sur MacOS, avec pipinstallé via MacPorts dans le MacPorts python2.7, j'ai dû utiliser la solution @Dunes:

sudo python -m pip install some-package.whl

Où a pythonété remplacé par le python MacPorts dans mon cas, qui est python2.7oupython3.5 pour moi.

le -m option est "Exécuter le module de bibliothèque en tant que script" selon la page de manuel.

(J'avais précédemment exécuté sudo port install py27-pip py27-wheelpour installer pipet wheeldans mon installation python 2.7 en premier.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.