2012-05-04 2 views
19

У меня есть проблема, которая исходит от меня после обучения, не понимая, что я делаю. Корень проблемы, на мой взгляд, заключается в том, что я не понимаю, как работает файловая система OS X.Как Homebrew, PIP, easy_install и т. Д. Работают так, что я могу очистить

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

Как я понял, Lion поставляется с установкой python. Я использовал это много, и из этого я установил различные пакеты с easy_install. Есть ли способ вернуться к установке по умолчанию и начать с самого начала? Это что-то я хочу сделать? Если да, то почему?

Есть ли преимущества использования версии Python, установленной мной с помощью Homebrew? Как я могу видеть, откуда запускается Python, когда я запускаю команду Python?

Когда я что-то устанавливаю с помощью easy_install, homebrew, macports и т. Д., Где все происходит?

+0

Вы можете проверить расположение программы unix с помощью «which» i.e. 'which python', он также работает для таких вещей, как:' which cd', который должен выводить путь к используемой вами версии. – Lockyer

ответ

24

Homebrew устанавливает программное обеспечение внутри подкаталога /usr/local на вашем Mac. OS X ничего не устанавливает там самостоятельно; Фактически, /usr/local зарезервирован для установленных пользователем материалов. Поскольку Homebrew никогда не устанавливает файлы за пределами /usr/local (и даже не имеет возможности, если вы запустите brew с помощью sudo - что не recommended_) и OS X никогда не устанавливает файлы внутри там, никогда два смешает.

easy_install и pip установить файлы в системные каталоги по умолчанию. Вот почему вам нужно запустить эти команды с помощью sudo для установки с ними пакетов.

Я не могу порекомендовать virtualenv, независимо от того, какую ОС вы используете. Он устанавливает копию Python вместе с любыми пакетами или модулями, которые вы хотите, в каталог по вашему выбору. Например:

$ cd /tmp 
$ virtualenv foo   
New python executable in foo/bin/python 
Installing setuptools............done. 
Installing pip...............done. 
$ cd foo 
$ bin/pip install sqlalchemy 
Downloading/unpacking sqlalchemy 
    Downloading SQLAlchemy-0.7.7.tar.gz (2.6Mb): 2.6Mb downloaded 
    Running setup.py egg_info for package sqlalchemy 
[...]  
Successfully installed sqlalchemy 
Cleaning up... 

[work, work, work] 
[decide this was a bad idea] 
$ cd /tmp; rm -rf foo 

... и все следы проекта полностью исчезли.

Используйте easy_install для установки virtualenv в OS X самостоятельно - как и для других пакетов, но затем выполните всю новую разработку внутри изолированных каталогов, которые вы можете очистить в любой момент. Это в значительной степени стандартный способ разработки и развертывания приложений Python в наши дни.

+1

Я мог бы поцеловать тебя. Спасибо, Captn. – o01

+0

Не нужны поцелуи, но вы очень желанны. –

2

Преимущество использования Python, установленного с помощью диспетчера пакетов, такого как Homebrew или MacPorts, заключается в том, что это обеспечивает простой способ удаления и переустановки Python. Кроме того, вы можете установить более новую версию, чем та, которую предоставляет Mac OS X.