Изменение стандартного питона на другую версию - PullRequest
3 голосов
/ 06 октября 2011

В настоящее время, когда я использую команду "python", она указывает на python2.6.Я установил python3.1, и я хочу, чтобы командная точка "python" была python3.1.Как это возможно?

mahmood@mpc:~$ which python 
/usr/bin/python
mahmood@mpc:~$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 2010-11-24 16:14 /usr/bin/python -> python2.6
mahmood@mpc:~$ uname -a
Linux orca 2.6.32-24-server #39-Ubuntu SMP Wed Jul 28 06:21:40 UTC 2010 x86_64 GNU/Linux

Ответы [ 7 ]

12 голосов
/ 07 октября 2011

Поскольку у вас есть Linux, и если вы хотите просто ввести «python» вместо «python3» для запуска программ на Python, решение состоит в том, чтобы просто определить псевдоним в файле конфигурации вашей оболочки (.bashrc и т. Д.) , Для раковин Борна это должно быть что-то вроде

alias python=python3

(или как вас зовут в Python 3).

Таким образом, вам не нужно ничего менять в вашей системе, поэтому это решение должно быть совершенно безобидным и не должно ломать вашу систему.

8 голосов
/ 06 октября 2011

Вы действительно не хотите менять то, на что указывает python, потому что некоторые программы могут ожидать Python 2 и сломаться.

Решение состоит в том, чтобы использовать virtualenv : создатьизолированная среда Python 3 (с опцией -p python3), активируйте ее, и все готово.

4 голосов
/ 06 октября 2011

Не рекомендуется.

Вы можете написать вверху в своем собственном сценарии (шебанг):

#!/usr/bin/env python3

Если вы используете Windows, установите pylauncher. Он понимает #!.

В Linux, чтобы сделать ваш скрипт исполняемым, запустите один раз:

$ chmod +x your-script

После этого для запуска вашего скрипта:

$ ./your-script

Для интерактивного использования вы можете создать virtualenv, как указывает @ Петр Викторин . Чтобы установить / обновить (версии из хранилищ Ubuntu слишком старые):

$ pip install -U virtualenv{,wrapper}

Следуйте инструкциям в /path/to/virtualenvwrapper.sh, чтобы создать virtualenv, который использует python3:

$ mkvirtualenv --python python3 py3

Чтобы активировать virtualenv:

$ workon py3

В активном virtualenv python относится к /path/virtualenv/bin/python. Таким образом, вы можете запустить:

$ python your_module.py
3 голосов
/ 07 октября 2011
unlink /usr/bin/python
ln -s /usr/bin/python3.1 /usr/bin/python
3 голосов
/ 07 октября 2011

Вы можете выполнить эту процедуру:

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python3.1 /usr/bin/python

Но, как уже сказал Петр Викторин, любые программы, которые ожидают Python v2, перестанут работать. Так что используйте с осторожностью. Вы можете отменить изменения, запустив:

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python2.6 /usr/bin/python

2 голосов
/ 06 октября 2011

В Linux / Mac OS вы можете использовать python3 вместо python.

1 голос
/ 06 октября 2011

Попробуйте update-альтернативы для Linux.

...