2015-05-15 3 views
-1

У меня есть Linux-привод без корневого доступа. Он имеет python 2.4.2, установленный в каталоге/usr/bin/python.Linux с использованием неправильной версии python

>which python 
/usr/bin/python 

Я установил pytohn 2.7.8 в моей локальной папке

>cd /usr2/steve/bin 
>ls 
python2.7 

Если я по-прежнему работать питона он начинает старую версию.

> python 
Python 2.4.2 (#1, May 6 2011, 13:26:21) 
[GCC 4.1.2 20070115 (SUSE Linux)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

Я добавил/usr2/стив/бен путь

> echo $PATH 
/usr2/steve/usr2/steve/bin:/usr2/steve/local/mnt/workspace/steve/Python-2.7.8:/usr2/steve/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin 

Как заставить систему использовать новую версию питона, в отличие от старшего один?

+0

Я очень сомневаюсь, что это ваш фактический '$ PATH'; он должен иметь как минимум '/ usr/bin' и'/usr/sbin'. Не говоря уже о том, что большинство оболочек используют '$' или '#', а не '>'. Скорее всего, вы неправильно определили свой реальный PATH. Пожалуйста, покажите фактическое содержимое. –

+0

Вы уверены, что смена системы python не приведет к зависанию вашей ОС? Вы можете использовать новый python, просто используя полный путь или экспортируя путь в вашем .bashrc. –

+0

Добавлен фактический выход пути. Я пытался избежать ненужной информации. –

ответ

0

У вас есть только python2.7 двоичный код в папке /usr2/steve/bin. Вы можете сделать символическую ссылку, а затем просто вызов python должен работать:

cd /usr2/steve/bin 
ln -s python2.7 python 
+0

С этим теперь я получаю правильный путь при выполнении этого python. > python /usr2/steve/bin/python Но когда я запускаю python, он все еще запускает старый. –

+0

Этого действительно не должно быть. Вы можете ввести 'alias' в свою оболочку, возможно, существует псевдоним, определенный для' python', 'который' не знал бы об этом. В противном случае вы можете попробовать выйти из системы и вернуться, чтобы узнать, не исчезла ли проблема. –

+1

Если вы добавите символическую ссылку, вам также необходимо вызвать 'hash -r'. Ваша оболочка будет искать ваш PATH для программы при первом вызове, и она запоминает это местоположение. Если вы вызываете 'python' один раз, и оболочка находит его в/usr/bin, а затем вы добавляете символическую ссылку в'/usr2/steve/bin', оболочка будет продолжать вызывать python из '/ usr/bin', пока вы не заставить его выполнить другой поиск PATH. –

0

сделать вашу жизнь просто путем создания псевдонима. Вы используете BASH (надеюсь, вы есть)? Если это так, синтаксис

alias pythonsteve='/usr2/steve/bin/python2.7' 

(падение = знака, если вы работаете CSH). Затем запустите для проверки

$pythonsteve -c 'import sys; print sys.prefix' 
/usr2/steve/bin 

Поместите команду alias в файл запуска пользователя оболочки. При типичных установках BASH это файл ~/.bashrc. Обратите внимание, что когда вы вручную редактируете файл ~/.bashrc, вы должны либо выйти из системы/войти в систему, либо выполнить source ~/.bashrc для выполнения команд.

Смежные вопросы