Подтвердить что ты не робот

Как работают Homebrew, PIP, easy_install и т.д., Чтобы я мог очистить

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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