Платформа: Ubuntu 12.10

Установленная версия Python: 2.7.3 (с установкой Ubuntu)

вывод команды (which python): usr/bin/python

недавно я установил python2.6.6 (так как некоторые приложения не работают на версии 2.7.3)

вывод команды (which python2.6): usr/local/bin/python2.6

по умолчанию команда 'python' запускает версию по умолчанию, т.е. 2.7.3

Мое требование - установить версию python2.6.6 по умолчанию.

Спасибо

5 ответов5

0

Вместо того, чтобы заново отображать внутренние зависимости Python, временно измените его и выполните команды. Делать:

alias python=/usr/bin/python2.7 (or any python version/path)

Когда терминал закрыт, выполнение python --version даст предыдущий вывод.

0

Если вы выполните команду ls -al /usr/bin/python* , вы должны увидеть несколько символических ссылок, перенаправляющих python на последнюю версию python (2.7.Х, в твоем случае). Вы можете вручную перенаправить эту символическую ссылку на любую понравившуюся вам версию (2.6.X, в вашем случае):

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

Вы можете сделать это с помощью следующей команды, но это может вызвать проблемы.

sudo ln -sf /usr/local/bin/python2.6 /usr/bin/python
0

Если вы используете программное обеспечение с открытым исходным кодом, я бы предложил исправлять ваши проблемные скрипты с помощью селектора версий. Своего рода:

#!/usr/bin/env bash
# Build some *.pyc scripts out of xsd schemas
./generate_all_ds.sh && # Uses xsd files to build the *.py sources to be compiled
 python --version 2> python_version.foo &&
 PYTHON_VERSION=`cat python_version.foo | sed -e 's/Python //'` &&
 rm -fv *.pyc &&
 echo Will now execute \'pycompile synthetic_data.py ... tracked.py -V $PYTHON_VERSION -v \&\&\' &&
 pycompile synthetic_data.py ... tracked.py -V $PYTHON_VERSION -v &&
 sleep .001 && # Sorry cant remember why, wouldnt surprise me not existing reason at all
 rm python_version.foo &&
 echo 'Compilation batchjob completed successfully'

Если это не показывает общую картину, тогда просто подумайте, как сделать программы, которые ведут себя в соответствии с тем, какие интерпретаторы есть у каждого конкретного хоста.

Это несколько старое программное обеспечение, в настоящее время я бы сделал это с запросом mktemp при использовании foofiles.

Боже, помоги мне сейчас.

0

В Ubuntu я бы не стал менять сим-ссылки. Похоже, новый способ сделать это - update-alternatives или python-virtualenv если вы хотите пойти по этому пути. Проверьте ответы здесь:

как-ду-я-макияж-концевой перспективе-питон-3-1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .