web-dev-qa-db-fra.com

Comment installer la dernière version de pip alors que j'ai déjà installé la version fournie par Ubuntu?

Dans Ubuntu 16.04 quand vous faites:

pip install --upgrade pip

vous recevez:

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

C'est suffisant. Maintenant essaye

pip install --upgrade pip

et vous obtenez:

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Alors, comment obtenir réellement le pip 8.1.2?

18
user2413

Ce n'est pas une bonne idée de mettre à jour le système python à moins que vous ne travailliez réellement sur du code Ubuntu et que vous ayez une raison spécifique de le faire. Il existe de nombreuses dépendances système que vous pouvez rompre en mettant à jour avec pip au lieu d'utiliser les librairies python dans le référentiel APT.

Si vous développez des applications python et que vous devez modifier les versions des bibliothèques, vous devez utiliser l'une des options --user pour effectuer un pip ou créer un virtualenv pour stocker les versions des bibliothèques de vos utilisateurs.

Ces deux méthodes retiendront gracieusement l'utilisation de bibliothèques système si elles ne possèdent pas leur propre copie. Virtualenv dispose de davantage d'options pour contrôler ce retour.

pip avec --user

C’est aussi simple que d’ajouter --user à la fin de toutes vos commandes pip, cela placera vos bibliothèques python dans ~/.local/lib/pythonX.X (où XX est votre python numéro de version), ils seront recherchés ici en premier. Faites simplement attention à ne pas le faire pour root si vous devez exécuter via Sudo, car cela pourrait affecter le système python.

virtualenv

Cela fonctionne de manière similaire à celle décrite ci-dessus mais est moins lié à un utilisateur spécifique. Par conséquent, vous n'avez pas la limitation Sudo, vous pouvez également cloner un fichier virtualenv et le mettre à niveau pour tester les modifications, ce qui vous permet de revenir en arrière s'il est nul. http://docs.python-guide.org/en/latest/dev/virtualenvs/

13
Amias

Il semble que cela puisse poser un problème lors de l’installation du fichier .whl pour pip 8.1.2. Une solution pour installer pip 8.1.2 consiste à télécharger le code source directement à partir de PyPi et à l'installer via setup.py.

Ce qui suit a fonctionné pour moi:

wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
tar -xzvf pip-8.1.2.tar.gz
cd pip-8.1.2
Sudo python setup.py install

Bien sûr, cela n’est pas une solution pour installer le pip 8.1.2 via pip install --upgrade, mais devrait faire disparaître l’avertissement jusqu’à ce problème est résol .

10
sethmlarson

Sudo -H python -m pip install --upgrade pip va résoudre votre problème. Comme mentionné ci-dessus, le système spécifique nécessite python 2.7 pour certaines choses ... Cela étant dit, vous pouvez mettre à niveau pip sans nuire à cela, mais vous pouvez également installer la version 3.5 si vous le souhaitez.

-H est un indicateur pour Sudo qui demande à la stratégie de sécurité de définir la variable d'environnement HOME sur le répertoire de base spécifié par l'entrée de la base de données de mots de passe de l'utilisateur cible. Selon la stratégie, il peut s'agir du comportement par défaut.

5
Afflicted

Désinstallez pip en utilisant apt-get et installez-le en utilisant easy_install. Cela a fonctionné pour moi.

Sudo apt-get remove python-pip
Sudo easy_install pip
2
toliveira