J'ai un Macbook avec OS X El Captain. Je pense que cela Python 2.7
est préinstallé dessus. Cependant, je l'ai installé Python 3.5
aussi. Quand j'ai commencé à utiliser Python 3
, j'ai lu que si je veux installer un package, je devrais taper:
pip3 install some_package
Bref, maintenant quand j'utilise
pip install some_package
Je suis some_package
installé pour Python 3
. Je veux dire que je peux l'importer et l'utiliser sans problème. De plus, lorsque je tape juste pip3
dedans Terminal
, j'ai ce message sur l'utilisation:
Usage:
pip <command> [options]
qui est le même message que je reçois lorsque je tape juste pip
.
Cela signifie-t-il que dans les versions précédentes, les choses étaient différentes, et maintenant pip
et pip3
peuvent être utilisées de manière interchangeable? Si c'est le cas, et pour des raisons d'argumentation, comment puis-je installer des packages pour Python 2
au lieu de Python 3
?
la source
ls -l
etpip show
pour vérifier la raison. et bien sûr, cette réponse est de répondre à sa question.Si vous aviez python 2.x puis installé python3, votre pip pointera vers pip3. vous pouvez le vérifier en tapant
pip --version
ce qui serait le même quepip3 --version
.Sur votre système, vous avez maintenant pip, pip2 et pip3 .
Si vous le souhaitez, vous pouvez modifier pip pour qu'il pointe vers pip2 au lieu de pip3.
la source
pip3 install --upgrade pip
et il a fait les deux v10Lorsque vous installez
python3
,pip3
est installé. Et si vous n'avez pas d'autre installation python (comme python2.7), un lien est créé qui pointepip
verspip3
.Il en
pip
va de même pour un lien verspip3
s'il n'y a pas d'autre version de python installée (autre que python3).pip
pointe généralement vers la première installation.la source
C'est un sujet délicat. En fin de compte, si vous l'invoquez,
pip
il invoquera soitpip2
oupip3
, selon la façon dont vous avez configuré votre système.la source
Par illustration:
Ainsi, mon python dans mon système par défaut (Python 3.7.3)
pip
estpip3
.la source
Je pense
pip
,pip2
etpip3
ne sont pas des liens souples vers le même chemin de fichier exécutable. Notez ces commandes et résultats dans mon terminal linux:Comme vous le voyez, ils existent dans des chemins différents.
pip3 fonctionne toujours uniquement sur l'environnement Python3, comme le fait pip2 avec Python2. pip fonctionne sur n'importe quel environnement approprié au contexte. Par exemple, si vous êtes dans un venv Python3, pip fonctionnera sur l'environnement Python3.
la source
Si vous avez installé Python 2.7, je pense que vous pouvez utiliser
pip2
etpip2.7
installer des packages spécifiquement pour Python 2, commeou
Et vous pouvez utiliser
pip3
oupip3.5
installer des pacakges spécifiquement pour Python 3.la source
Sur mon instance Windows - et je ne comprends pas entièrement mon environnement - utiliser pip3 pour installer le package kaggle-cli a fonctionné - contrairement à pip. Je travaillais dans un environnement conda et les environnements semblent différents.
la source
Étant donné un virtualenv Python 3.6 activé dans somepath / venv , les alias suivants ont résolu les différents problèmes sur un macOS Sierra où pip insistait pour pointer vers le Python 2.7 d'Apple.
Cela ne fonctionnait pas très bien quand je devais le faire
sudo pip
car l'utilisateur root ne savait rien de mon alias ou de virtualenv, j'ai donc dû ajouter un alias supplémentaire pour gérer cela également. C'est un hack, mais ça marche, et je sais ce que ça fait:Contexte:
pip3 n'existait pas pour démarrer ( commande introuvable ) avec et
which pip
renverrait /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip , le Python d'Apple.Python 3.6 a été installé via macports.
Après l'activation du virtualenv 3.6 avec lequel je voulais travailler,
which python
je retournerais somepath / venv / bin / pythonD'une manière ou d'une autre,
pip install
ferait la bonne chose et frapperait mon virtualenv, maispip list
ferait exploser les paquets Python 2.7.Pour Python, c'est bien en deçà de mes attentes en termes de convivialité pour les débutants.
la source