O comando python
abre um ambiente Python 2.7.6. Se eu quiser interpretar um script Python 3, preciso reescrever o comando para python3
.
Acabei de instalar o pacote numpy . A fim de testar a instalação bem sucedida, eu executar o comando import numpy
. Funciona bem ao usar o python
comando No entanto, python3
não encontra o pacote.
Como isso é possível? Esses dois comandos usam variáveis de caminho diferentes ? Como posso mudar o comportamento?
Respostas:
Você está absolutamente certo, eles usam
PYTHONPATH
s diferentes .Você pode pensar no Python 2.xe no Python 3.x como ambientes de programação completamente diferentes. E sim, eles armazenam seus pacotes em locais diferentes.
Para que o funcionamento do numpy funcione, você pode digitar:
Se você deseja descobrir onde exatamente um pacote é mantido, pode ver o
__path__
atributo de objetos do módulo :Você também pode instalar
python3-pip
e executarpip3 install whatever
para instalar pacotes para Python 3 com Pip , para pacotes que não estão disponíveis no Ubuntu comopython3-whatever
.Caso esteja confuso sobre a diferença entre distutils, setuptools, easy_install, pip e o resto, use pip. Essa é legal. :)
fonte
Não, eles usam o mesmo
PATH
. No entanto, esse problema não está noPATH
.Python 2 e Python 3 são suficientemente diferentes para que os pacotes tenham que ser escritos separadamente para os dois. Você não pode usar um pacote escrito para um com o outro.
No Ubuntu, esses módulos são armazenados em locais diferentes e são empacotados separadamente -
python-numpy
para Python 2,python3-numpy
para Python 3. Se você quiser ficar satisfeito com o Python 3, instalepython3-numpy
.fonte
De fato, ambos estão importando módulos de diferentes locais:
/usr/lib/python2.7/dist-packages/numpy/
/usr/lib/python3/dist-packages/numpy/
Para poder importar
numpy
com os dois intérpretes, instale os pacotes correspondentes:sudo apt-get install python-numpy
sudo apt-get install python3-numpy
fonte