Tengo una Macbook con OS X El Captain. Creo que Python 2.7
viene preinstalado. Sin embargo, Python 3.5
también instalé . Cuando comencé a usar Python 3
, leí que si quiero instalar un paquete, debo escribir:
pip3 install some_package
De todos modos, ahora cuando uso
pip install some_package
Me some_package
instalan para Python 3
. Quiero decir que puedo importarlo y usarlo sin problemas. Por otra parte, cuando escribo simplemente pip3
en Terminal
, Tengo este mensaje sobre el uso:
Usage:
pip <command> [options]
que es el mismo mensaje que recibo cuando escribo solo pip
.
¿Significa que en las versiones anteriores, las cosas eran diferentes y ahora pip
y pip3
se pueden usar indistintamente? Si es así, y por el bien del argumento, ¿cómo puedo instalar paquetes para en Python 2
lugar de Python 3
?
fuente
ls -l
ypip show
para verificar el motivo. y, por supuesto, esta respuesta es para responder a su pregunta.Si tenía python 2.xy luego instaló python3, su pip apuntará a pip3. puede verificarlo escribiendo
pip --version
cuál sería el mismo quepip3 --version
.En su sistema ahora tiene pip, pip2 y pip3 .
Si lo desea, puede cambiar pip para que apunte a pip2 en lugar de pip3.
fuente
pip3 install --upgrade pip
e hizo ambos v10Cuando lo instala
python3
,pip3
se instala. Y si no tiene otra instalación de Python (como python2.7), se crea un enlace que apuntapip
apip3
.También lo
pip
es un enlace apip3
si no hay otra versión de python instalada (que no sea python3).pip
generalmente apunta a la primera instalación.fuente
Este es un tema complicado. Al final, si lo invoca
pip
, se invocarápip2
opip3
, dependiendo de cómo haya configurado su sistema.fuente
Por ilustración:
Por lo tanto, mi python en mi sistema predeterminado (Python 3.7.3)
pip
espip3
.fuente
Creo
pip
,pip2
ypip3
no son enlaces suaves a la misma ruta de archivo ejecutable. Tenga en cuenta estos comandos y resultados en mi terminal linux:Como ves, existen en diferentes caminos.
pip3 siempre opera solo en el entorno Python3, como lo hace pip2 con Python2. pip opera en cualquier entorno que sea apropiado para el contexto. Por ejemplo, si está en un venv de Python3, pip funcionará en el entorno de Python3.
fuente
Si instaló Python 2.7, creo que podría usar
pip2
epip2.7
instalar paquetes específicamente para Python 2, comoo
Y puede usar
pip3
opip3.5
instalar paquetes específicamente para Python 3.fuente
En mi instancia de Windows, y no entiendo completamente mi entorno, el uso de pip3 para instalar el paquete kaggle-cli funcionó, mientras que pip no. Estaba trabajando en un entorno de conda y los entornos parecen ser diferentes.
fuente
Dado un virtualenv de Python 3.6 activado en somepath / venv , los siguientes alias resolvieron los diversos problemas en una macOS Sierra donde pip insistía en apuntar a 2.7 Python de Apple.
Esto no funcionó tan bien cuando tuve que hacerlo
sudo pip
ya que el usuario root no sabe nada sobre mi alias o el virtualenv, por lo que tuve que agregar un alias adicional para manejar esto también. Es un truco, pero funciona, y sé lo que hace:antecedentes:
pip3 no existía para iniciar ( comando no encontrado ) y
which pip
devolvería /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip , el Apple Python.Python 3.6 se instaló a través de macports.
Después de la activación del 3.6 virtualenv con el que quería trabajar,
which python
devolvería somepath / venv / bin / pythonDe alguna manera
pip install
haría lo correcto y golpearía mi virtualenv, peropip list
lanzaría paquetes de Python 2.7.Para Python, esto está muy por debajo de mis expectativas en términos de amigabilidad para principiantes.
fuente