Jak zmienić PYTHONPATH, aby ustawić 3,2 jako domyślnego Pythona zamiast 2.7.2?

16

Mam Python3.2 znajduje się w /usr/lib/python3.2. Nie jestem pewien, czy to oznacza, że ​​jest zainstalowany, ale zakładam, że na razie.

Kilka faktów na temat mojego systemu:

$ which python
/usr/local/bin/python

Kiedy piszę pythonw terminalu, otrzymuję następujące informacje

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Następnie, aby znaleźć ścieżkę, którą robię

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

Więc wiedząc o tym wszystkim, jak zmienić domyślnego systemowego pytona z 2.7.2 na 3.2?

max
źródło

Odpowiedzi:

28

Nie jest dobrze zmieniać domyślny python. Wiele programów systemowych zależy od python2, a nie python3. jeśli chcesz użyć python3, po prostu wpisz polecenie python3 .

Liuerfire
źródło
4
W przypadku bibliotek i narzędzi pomocniczych (takich jak pyenv, fabric) oczekują, że /usr/bin/env pythonbędą to, czego chcesz. Więc ręczne pisanie python3nie jest rozwiązaniem.
Eric Mill
9

PYTHONPATH nie ma z tym wiele wspólnego. Po prostu informuje interpreter Pythona, niezależnie od tego, który interpreter działa, gdzie znaleźć dodatkowe moduły, które chcesz załadować.

Ale tak czy inaczej, zmiana domyślnej wersji w twoim systemie jest niebezpieczna, jak zauważyli inni komentatorzy. Występuje ryzyko zerwania istniejącego pakietu zbudowanego z języka Python2 i użycia / usr / bin / env python w celu znalezienia ich interpretatorów.

W rzeczywistości jest to niewłaściwy sposób wyrażenia tego. Zmiana domyślnej wersji Pythona spowoduje uszkodzenie całego systemu Ubuntu i spowoduje, że wiele programów po prostu nie będzie działać. Jest to również całkowicie niepotrzebne.

Ale skoro zapytałeś, po prostu rób to:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

Szczęśliwy upaść!

Ken Kinder
źródło
7

Dodałem to do mojej .bashrc, jak dotąd działa dobrze:

alias python='python3'
vinod garag
źródło
1
Będzie to działać, dopóki nie wywołasz Pythona ze skryptu, który nie ma dostępu do twoich aliasów.
HelloGoodbye,
4

Zgodnie z tym możesz skonfigurować zmienną środowiskową lub po prostu dodać nowy folder ścieżki importu. Ale zalecam używanie virtualenvs do projektów python, jeśli chcesz mieć pewną elastyczność.

Tural Gurbanov
źródło
2

Oto najbezpieczniejszy sposób, aby to zrobić - używającupdate-alternatives

Wadim Rutkowski
źródło
1

jeśli jest faktycznie zainstalowany, wpisz Python3.2 zamiast tylko Python, a załaduje go zamiast domyślnego. Właśnie zainstalowałem Python 3.2, aby go przetestować =)

jeśli tak naprawdę nie jest zainstalowany, otwórz terminal i wpisz sudo apt-get install python3.2, aby go pobrać

BretD
źródło