web-dev-qa-db-fra.com

Installer python fichier de roue sans utiliser pip

Est-il possible d'installer une roue Python sans utiliser pip? J'ai toujours des problèmes avec l'installation avec pip, donc j'installe généralement les bibliothèques manuellement en copiant et collant Je me demande s'il existe un moyen de faire des fichiers de roue de manière similaire.

15
king

Il est. En fait, les fichiers .whl ne sont que des archives Zip, vous pouvez donc simplement extraire leur contenu et jouer avec la variable de chemin des bibliothèques pour le faire fonctionner. Pourtant, c'est vraiment une mauvaise pratique.

8
0Hour ForTea

Je suppose que vous avez accès à Internet, mais vous n'avez pas d'installation de pip fonctionnelle.

Téléchargez la roue pip:

wget https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl

Pour trouver l'URL d'une version en premier lieu, vous pouvez obtenir le point de terminaison index json. Par exemple:

$ curl -s https://pypi.org/pypi/pip/json | jq ".urls[0].url"
"https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl"

"Exécuter" avec votre autre fichier de roue. Par exemple, si vous essayez d'installer setuptools v39.0.1 à partir de bdist, la commande ressemblera à ceci:

$ python pip-10.0.1-py2.py3-none-any.whl/pip install --no-index setuptools-39.0.1-py2.py3-none-any.whl
Processing ./setuptools-39.0.1-py2.py3-none-any.whl
Installing collected packages: setuptools
Successfully installed setuptools-39.0.1

Vous aurez maintenant une installation setuptools fonctionnelle, mais pas de pip.

Au cas où vous vous poseriez la question, oui, vous pouvez utiliser la même astuce pour installer pip lui-même. Cette commande ressemblerait à ceci:

python pip-10.0.1-py2.py3-none-any.whl/pip install --no-index pip-10.0.1-py2.py3-none-any.whl

Et maintenant, vous devriez avoir une installation pip fonctionnelle, associée à l'interpréteur que cet exécutable python pointe.

24
wim