Як я можу змінити PYTHONPATH, щоб зробити 3,2 моїм Python за замовчуванням замість 2.7.2?


16

У мене python3.2 розташований у /usr/lib/python3.2. Я не впевнений, чи це означає, що він встановлений, але я припускаю, що це наразі.

Деякі факти про мою систему:

$ which python
/usr/local/bin/python

Коли я набираю pythonтермінал, я отримую наступне

$ 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.

Потім знайти шлях, який я роблю

>>> 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']

Отже, знаючи все це, як я можу змінити системний пітон за замовчуванням з 2.7.2 на 3.2?

Відповіді:


28

Недоречно міняти пітон за замовчуванням. Багато системних програм залежить від python2, а не python3. якщо ви хочете використовувати python3, просто введіть команду python3 .


4
Для бібліотек та інструментів підтримки (наприклад, pyenv, тканина) вони очікують, /usr/bin/env pythonщо ви хочете. Тому введення вручну python3не є рішенням.
Ерік Мілл

9

ПІТОНПАТ не має нічого спільного з цим. Він просто повідомляє інтерпретатору Python, який би інтерпретатор не працював, де знайти додаткові модулі, які потрібно завантажити.

Але в будь-якому випадку зміна версії за замовчуванням у вашій системі небезпечна, як це спостерігали інші коментатори. Ви ризикуєте зламати існуючий пакет, побудований проти Python2, і використовуєте / usr / bin / env python для пошуку своїх інтерпретаторів.

Насправді це неправильний спосіб її фразування. Зміна версії Python за замовчуванням вирве всю вашу систему Ubuntu і призведе до того, що багато програм просто не працюватимуть. Це також зовсім непотрібно.

Але оскільки ви попросили, ви просто зробите це:

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

Щасливі аварії!


7

Я додав це в свій .bashrc, його добре працює поки що:

alias python='python3'

1
Це буде працювати до тих пір, поки ви не зателефонуєте python із сценарію, який не має доступу до ваших псевдонімів.
HelloGoodbye

4

Відповідно до цього ви можете налаштувати змінну навколишнього середовища або просто додати нову папку шляху імпорту. Але я рекомендую використовувати virtualenvs для python-проектів, якщо ви хочете мати певну гнучкість.



1

якщо він насправді встановлений, введіть python3.2 замість просто python, і він завантажить це замість за замовчуванням. Щойно встановлено python 3.2, щоб перевірити його =)

якщо насправді не встановлено відкритий термінал і введіть sudo apt-get install python3.2, щоб отримати його

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.