web-dev-qa-db-fra.com

Quel est le format correct pour mettre à niveau pip3 lorsque le pip par défaut est pip2?

Je développe pour les deux Python 2 et 3.
Ainsi, je dois utiliser les deux pip2 et pip3.

Lors de l'utilisation de pip3 - Je reçois cette demande de mise à niveau (deux dernières lignes):

$ pip3 install arrow
Requirement already satisfied (use --upgrade to upgrade): arrow in c:\program files (x86)\python3.5.1\lib\site-packages
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in c:\program files (x86)\python3.5.1\lib\site-packages (from arrow)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in c:\program files (x86)\python3.5.1\lib\site-packages (from python-dateutil->arrow)
You are using pip version 7.1.2, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

Mon pip par défaut est pour Python 2, à savoir:

$  python -m pip install --upgrade pip
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages

Cependant, aucune des commandes explicites suivantes ne réussit à mettre à niveau le Python 3 pip:

$  python -m pip3 install --upgrade pip3
/bin/python: No module named pip3

$  python -m pip install --upgrade pip3
Collecting pip3
  Could not find a version that satisfies the requirement pip3 (from versions: )
No matching distribution found for pip3

$  python -m pip install --upgrade pip3.4
Collecting pip3.4
  Could not find a version that satisfies the requirement pip3.4 (from versions: )
No matching distribution found for pip3.4

Quelle est la commande correcte pour mettre à niveau pip3 quand ce n'est pas le pip par défaut?

Environnement:

$ python3 -V
Python 3.4.3
$ uname -a
CYGWIN_NT-6.1-WOW 2.5.2(0.297/5/3) 2016-06-23 14:27 i686 Cygwin
17
boardrider

Utilisez simplement le pip3 commande que vous avez déjà:

pip3 install --upgrade pip

Le projet installé s'appelle toujours pip. Le pip3 est liée à votre installation Python 3 et est un alias pour pip, mais cette dernière est masquée par la commande pip dans votre Python 2.

Vous pouvez le faire avec le binaire Python binaire également; s'il est exécutable en tant que python3, puis utilisez cela:

python3 -m pip install --upgrade pip

Encore une fois, le projet s'appelle pip, tout comme le module installé dans votre site-packages répertoire, donc respectez ce nom pour le -m option de ligne de commande et pour la commande install.

29
Martijn Pieters

Lorsque j'ai cherché "comment mettre à jour pip3", cela est arrivé. J'ai eu le problème décrit ici à l'esprit:

Le problème

La mise à niveau avec pip3 peut faire pointer pip vers la version Python 3.

Il semble que ce ne soit plus le cas.

La solution

Mettez à jour celui que vous souhaitez conserver après celui que vous souhaitez mettre à niveau. Par conséquent

pip3 install --upgrade pip
pip2 install --upgrade pip --force-reinstall

s'assurera que pip pointe vers pip2.

3
Martin Thoma