2010-09-02 3 views
1

Итак, я изменил $ PATH, чтобы Python2.5 работал с Django, когда он не поддерживал 2.6. Теперь я ничего не могу установить через Python, потому что я напортачил много внутренних дел. $ PATH теперь излишне длинный, потому что я не знал, что делаю, когда добавляю к нему. .profile не содержит ни одного из путей, которые я добавил с помощью «export» в терминале. Я даже не могу установить virtualenv. На данный момент я чувствую, что все испортил и хотел начать с нуля, не потеряв все свои данные. У меня есть все, что подкреплено Time Machine, но это будет поддерживать те же настройки, что и раньше.

Неужели это сейчас полностью безнадежно? Должен ли я выбрать новую переустановку ОС с использованием чего-то другого, кроме Time Machine, для резервного копирования всей моей информации? Или это будет легко исправить?

+0

Вам не нужно менять $ PATH, вам просто нужно выполнить: 'defaults написать com.apple.versioner.python Version 2.5' из командной строки – OscarRyz

ответ

1

Если вы используете mac osx. Тогда мое предложение состоит в том, что вы используете macports. Решение сделать это здесь.

Вы можете выбрать, чтобы активировать соответствующую версию, используя python_select.

После этого вы можете использовать virtualenv. Это очень хорошо работает для меня.

+0

Работал как шарм. Мне больше не нужны виртуальные. Благодаря! – RaDeuX

0

Почему бы просто не отредактировать (с помощью текстового редактора по вашему выбору) «файлы точек», которые определяют настройки PATH в среде? В вашем $ HOME (возможно, /Users/youruserid), который включает (предполагается, что ваша оболочка является стандартной по умолчанию, bash) .bash_profile и .bashrc - там, как правило, также есть «система» /etc/bashrc (нет точки для этого ;-). find ~ -type f -name '.*' -print0 | xargs -0 grep PATH сообщает вам все соответствующие файлы в вашем домашнем каталоге и поддереве, которые содержат строку PATH (плюс, без сомнения, некоторые другие, такие как файлы истории и сохраненные копии старых dotfiles) и могут направить ваше редактирование. Обязательно выйти из системы и снова войти в систему, чтобы убедиться, что все соответствующие файлы применяются для проверки ваших изменений.

Редактировать: сделать это на всех Python релевантных ;-), вот простой Python способ определить, как установить путь так, что точно такие же команды выполняются во всех случаях, как с путем установки у вас есть теперь, но без расточительного дублирования:

>>> x='''/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin''' 
>>> s = set() 
>>> l = list() 
>>> for p in x.split(':'): 
... if p in s: continue 
... s.add(p) 
... l.append(p) 
... 
>>> print ':'.join(l) 
/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin 
>>> 
+0

Пользователи home $ echo $ PATH /opt/local/бен:/OPT/местные/SBIN:/OPT/местные/бен:/OPT/местные/SBIN:/OPT/местные/бен:/OPT/местные/SBIN:/SW/бен:/SW/SBIN:/опт/местные/бен:/OPT/местные/SBIN:/OPT/местные/бен:/OPT/местные/SBIN:/OPT/местные/бен:/OPT/местные/SBIN:/USR/бен:/бен:/USR/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin ^ Это моя переменная PATH. Это довольно грязно, не так ли? Я попробую найти команду, которую вы мне показали. – RaDeuX

+0

Просто попробовал команду find, и он ничего мне не дал. – RaDeuX

+0

В вашем «PATH» есть много избыточных путей :). Попробуйте удалить их. – pyfunc