OS X Lion easy_install требует sudo ...?

5645
w--

Я на OS X Lion и хочу настроить виртуальные среды Python. Я хочу использовать virtualenvwrapper.

Может кто-нибудь подтвердить, что правильный способ сделать это - установить пакеты с помощью easy_install (и впоследствии pip), используя sudo

Контекст: для установки virtaulenv я хотел использовать pip, поэтому я сделал

$ easy_install pip error: can't create or remove files in install directory  The following error occurred while trying to add or remove files in the installation directory:  [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/test-easy-install-876.write-test'  The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was:  /Library/Python/2.7/site-packages/  Perhaps your account does not have write access to this directory? If the installation directory is a system-owned directory, you may need to sign in as the administrator or "root" account. If you do not have administrative access to this machine, you may wish to choose a different installation directory, preferably one that is listed in your PYTHONPATH environment variable.  For information on other options, you may wish to consult the documentation at:  http://peak.telecommunity.com/EasyInstall.html  Please make the appropriate changes for your system and try again. 

кажется, что единственный способ заставить easy_install работать - это сделать с помощью sudo. Я читал в другом месте, что это плохая идея (хотя я не совсем уверен, почему).

Чтобы уточнить,

$ which python /usr/bin/python 

и это 2.7.1.

7

3 ответа на вопрос

4
Emily Chen

Создание /Library/Python/2.7/site-packages/ исполняемого мира с помощью:

sudo chmod -R 755 /Library/Python/2.7/site-packages 

работал на меня.

1
Debilski

До Lion /Library/Pythonпо умолчанию была доступна для записи пользователем (если только вы не начали использовать sudo easy_installодин раз, после чего вновь созданные файлы больше не были доступны для записи пользователем). Это изменилось с Lion, хотя не ясно, почему. Таким образом, вы можете изменить владельца /Library/Pythonили добавить sudoвсе easy_installдействия.

Смотрите homebrew wiki для более подробной информации.

chmod + a 'user: YOUR_NAME_HERE разрешить add_subdirectory, add_file, delete_child, directory_inherit' /Library/Python/2.7/site-packages tzs 12 лет назад 1
1
coto

Повторная загрузка setuptools и установка с помощью этой команды решит вашу проблему.

sudo sh setuptools-0.6c11-py2.7.egg --prefix=~ --install-dir=/Library/Python/2.7/site-packages/