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?
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/
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 .
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.
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