El comando python
abre un entorno Python 2.7.6. Si quiero interpretar un script Python 3, necesito reescribir el comando python3
.
Acabo de instalar el paquete numpy . Para probar la instalación exitosa, ejecuto el comando import numpy
. Funciona bien cuando se usa el python
comando. Sin embargo, python3
no encuentra el paquete.
¿Cómo es esto posible? ¿Estos dos comandos usan diferentes variables de ruta ? ¿Cómo puedo cambiar el comportamiento?
Respuestas:
Tienes toda la razón, usan diferentes
PYTHONPATH
s.Puede pensar en Python 2.xy Python 3.x como entornos de programación completamente diferentes. Y sí, almacenan sus paquetes en diferentes lugares.
Para comenzar a trabajar, puede escribir:
Si desea averiguar dónde se guarda exactamente un paquete, puede ver el
__path__
atributo de objetos del módulo :También puede instalar
python3-pip
y luego ejecutarpip3 install whatever
para instalar paquetes para Python 3 con Pip , para paquetes que no están disponibles en Ubuntu comopython3-whatever
.En caso de que esté confundido acerca de la diferencia entre distutils, setuptools, easy_install, pip y el resto, use pip. Ese es el genial. :)
fuente
No, ellos usan lo mismo
PATH
. Sin embargo, este problema no es con elPATH
.Python 2 y Python 3 son lo suficientemente diferentes como para que los paquetes tengan que escribirse por separado para ambos. No puede usar un paquete escrito para uno con el otro.
En Ubuntu, estos módulos se almacenan en diferentes ubicaciones y se empaquetan por separado:
python-numpy
para Python 2,python3-numpy
para Python 3. Si desea un numpy con Python 3, instálelopython3-numpy
.fuente
De hecho, ambos están importando módulos desde diferentes ubicaciones:
/usr/lib/python2.7/dist-packages/numpy/
/usr/lib/python3/dist-packages/numpy/
Para poder importar
numpy
con ambos intérpretes, asegúrese de instalar sus paquetes correspondientes:sudo apt-get install python-numpy
sudo apt-get install python3-numpy
fuente