Polecenie python
otwiera środowisko Python 2.7.6. Jeśli chcę zinterpretować skrypt w języku Python 3, muszę przepisać polecenie na python3
.
Właśnie zainstalowałem pakiet numpy . Aby przetestować pomyślną instalację, uruchamiam polecenie import numpy
. Działa dobrze, gdy używasz python
polecenia. Jednak python3
nie znajduje pakietu.
Jak to jest możliwe? Czy te dwa polecenia używają różnych zmiennych ścieżki ? Jak mogę zmienić zachowanie?
Odpowiedzi:
Masz absolutną rację, używają różnych
PYTHONPATH
s.Python 2.x i Python 3.x można traktować jako zupełnie inne środowiska programistyczne. I tak, przechowują swoje paczki w różnych lokalizacjach.
Aby uruchomić Numpy, możesz wpisać:
Jeśli chcesz dowiedzieć się, gdzie dokładnie jest przechowywany pakiet, możesz spojrzeć na
__path__
atrybut obiektów modułu :Możesz także zainstalować,
python3-pip
a następnie uruchomić,pip3 install whatever
aby zainstalować pakiety dla Python 3 z Pip , dla pakietów, które nie są dostępne w Ubuntu aspython3-whatever
.Jeśli masz wątpliwości co do różnicy między distutils, setuptools, easy_install, pip i resztą, użyj pip. To jest fajne. :)
źródło
Nie, używają tego samego
PATH
. Jednak ten problem nie dotyczyPATH
.Python 2 i Python 3 różnią się na tyle, że pakiety muszą być pisane osobno dla obu z nich. Nie możesz używać pakietu napisanego dla jednego z drugim.
W Ubuntu moduły te są przechowywane w różnych lokalizacjach i są pakowane osobno -
python-numpy
dla Python 2,python3-numpy
dla Python 3. Jeśli chcesz numpy z Python 3, zainstalujpython3-numpy
.źródło
Rzeczywiście, oba importują moduły z różnych lokalizacji:
/usr/lib/python2.7/dist-packages/numpy/
/usr/lib/python3/dist-packages/numpy/
Aby móc importować
numpy
z oboma tłumaczami, zainstaluj odpowiednie pakiety:sudo apt-get install python-numpy
sudo apt-get install python3-numpy
źródło