2010-12-05 2 views
5

Я пытаюсь установить pip, но в настоящее время не могу. я перейти к папке пип и
python setup.py install Невозможно установить pip: Ошибка отказа в разрешении

Все, кажется, не идти нормально до самого конца:

Extracting pip-0.8.2-py2.6.egg to /Library/Python/2.6/site-packages
Adding pip 0.8.2 to easy-install.pth file
Installing pip script to /usr/local/bin
error: /usr/local/bin/pip: Permission denied

Я также попытался easy_install . и попытки не обратиться к соответствующей теме с не удача: thread link

Любые идеи?

+3

Вы используете команду как суперпользователя? (установка sudo python setup.py)? – 2010-12-05 16:43:16

+1

`python setup.py config --prefix =/path/to/directory/you/have/write/permissions/&& python setup.py install` может помочь – khachik 2010-12-05 18:09:03

ответ

15

Похоже, вы на поле Linux/Unix, и вы не корень ... а это значит, у вас нет разрешения положить вещи в /usr/local/bin (или много других мест).

Обновление для комментариев:

Поскольку OS X является (под капотом) FreeBSD Unix, есть еще основная концепция 'корня'. Ваша учетная запись администратора - , способная делать, делая вещи корневого типа, но не автоматически увеличивает привилегии (что является хорошей вещью). Команда, которую вы ищете, - sudo, которая предоставляет временные привилегии root. Чтобы сделать это для одной команды (самый обычный случай), просто префикс команды sudo, например. sudo python setup.py install. Вероятно, вам будет предложено снова указать ваш пароль (а не пароль root, но ваш собственный), а затем будет выполнена команда. sudo будет запрашивать только первый раз (или каждые N минут) для пароля.

Я отметил here, что в 10,5 и более поздних версиях sudo будет работать только в том случае, если у вашей учетной записи администратора есть пароль. Если этого не произойдет, вам придется установить один, прежде чем это сработает.

Если у вас есть целая куча вещей, которые вам нужно сделать от имени пользователя root, попробуйте sudo /bin/bash (или оболочку выбора), которая даст вам новую оболочку (в качестве дочернего процесса другой оболочки), которая имеет полный root привилегии. Замечание:, если вы не используете для жизни в командной строке root, это не отличная идея. Один промах клавиатуры, и вы можете прибить вашу систему к стене здания. Так что будьте осторожны!