Tengo una Macbook con OS X El Captain. Creo que Python 2.7viene preinstalado. Sin embargo, Python 3.5también instalé . Cuando comencé a usar Python 3, leí que si quiero instalar un paquete, debo escribir:
pip3 install some_packageDe todos modos, ahora cuando uso
pip install some_packageMe some_packageinstalan para Python 3. Quiero decir que puedo importarlo y usarlo sin problemas. Por otra parte, cuando escribo simplemente pip3en 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 pipy pip3se pueden usar indistintamente? Si es así, y por el bien del argumento, ¿cómo puedo instalar paquetes para en Python 2lugar de Python 3?
fuente

ls -lypip showpara 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 --versioncuá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 pipe hizo ambos v10Cuando lo instala
python3,pip3se instala. Y si no tiene otra instalación de Python (como python2.7), se crea un enlace que apuntapipapip3.También lo
pipes un enlace apip3si no hay otra versión de python instalada (que no sea python3).pipgeneralmente apunta a la primera instalación.fuente
Este es un tema complicado. Al final, si lo invoca
pip, se invocarápip2opip3, 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)
pipespip3.fuente
Creo
pip,pip2ypip3no 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
pip2epip2.7instalar paquetes específicamente para Python 2, comoo
Y puede usar
pip3opip3.5instalar 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 pipya 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 pipdevolverí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 pythondevolvería somepath / venv / bin / pythonDe alguna manera
pip installharía lo correcto y golpearía mi virtualenv, peropip listlanzaría paquetes de Python 2.7.Para Python, esto está muy por debajo de mis expectativas en términos de amigabilidad para principiantes.
fuente