Изменение $ PATH в OS X для запуска самой последней версии Python - PullRequest
1 голос
/ 03 сентября 2010

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

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

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Если вы используете Mac OSX. Тогда я предлагаю вам использовать macports. Решение для этого здесь.

Затем вы можете выбрать активацию соответствующей версии с помощью python_select.

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

0 голосов
/ 03 сентября 2010

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

Редактировать : чтобы сделать это вообще релевантным для 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
>>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...