Чтобы предисловие, я в настоящее время запускаю OSX 10.9.1 с Python 2.7.easy_install и права доступа к файлам
Я хотел был бы установить пакеты Python используя easy_install
(в этом примере, pip
). Во-первых, я стараюсь:
easy_install pip
И тогда я получаю ошибку, которая говорит, что у меня нет доступа на запись в каталог site-packages
. Нет проблем:
sudo easy_install pip
Все не загружает нормально. Следующий пример показывает сеанс Bash у меня после установки pip
:
$ pip
-bash: /usr/local/bin/pip: Permission denied
$ cd /usr/local/bin/pip
$ ls -l
...
-rwx------ 1 root admin 275 Jan 10 11:05 pip
...
$ chmod 754 pip
chmod: Unable to change file mode on pip: Operation not permitted
$ sudo chmod 754 pip
$ pip
Traceback (most recent call last):
File "./pip", line 5, in <module>
from pkg_resources import load_entry_point
File "build/bdist.macosx-10.8-intel/egg/pkg_resources.py", line 3007, in <module>
File "build/bdist.macosx-10.8-intel/egg/pkg_resources.py", line 728, in require
requirements specified when this environment was created, or False
File "build/bdist.macosx-10.8-intel/egg/pkg_resources.py", line 626, in resolve
pkg_resources.DistributionNotFound: pip==1.5
Итак, может быть, некоторые из разрешений еще перепутались. Вот что Finder показывает мне, когда я осматриваю /Library/Python/2.7/site-packages/
:
А вот что ls -l
возвращается при просмотре этого же каталога:
...
drwx------ 4 root wheel 136 Jan 10 11:24 pip-1.5-py2.7.egg
...
Хорошо, так что я, очевидно, не имеет разрешения на использование pip
все еще, потому что у меня нет разрешения на выполнение в архиве. Как насчет:
$ chmod 754 pip-1.5-py2.7.egg
chmod: Unable to change file mode on pip-1.5-py2.7.egg/: Operation not permitted
$ sudo chmod 754 pip-1.5-py2.7.egg
$ pip
Traceback (most recent call last):
File "/usr/local/bin/pip", line 9, in <module>
load_entry_point('pip==1.5', 'console_scripts', 'pip')()
File "build/bdist.macosx-10.8-intel/egg/pkg_resources.py", line 378, in load_entry_point
def get_resource_stream(manager, resource_name):
File "build/bdist.macosx-10.8-intel/egg/pkg_resources.py", line 2565, in load_entry_point
section = line[1:-1].strip()
ImportError: Entry point ('console_scripts', 'pip') not found
Моя гипотеза состоит в том, что все разрешения ввернуты, потому что я использовал sudo
и теперь я просто гоняться вокруг разрешения. Однако это может быть неправильно. Я никогда не помню эту проблему перед обновлением до OSX 10.9.
Мои вопросы: делают ли системы Unix всегда это с sudo
, даже если я администратор компьютера? Есть ли способ для меня постоянно исправлять это, чтобы у меня действительно было разрешение на запуск установленных пакетов? Как вы думаете, где-то в моей системе что-то неправильно?
номер причины 273 не обновлять до Mavericks ... – MattDMo
@Thanizer, вы запускаете «дисковая утилита» и исправлены разрешения? это может быть хорошим местом для начала. также chmod 754 не собирается сокращать его, вам нужно использовать 755 и для этого есть 'owner root',' group wheel'. –
@ I'L'I, я просто отремонтировал разрешения безрезультатно. Прямо сейчас я просто использую формулу Python для Homebrew, и все работает нормально. Мне все же хотелось бы знать, почему я не могу использовать собственный скрипт 'easy_install' OSX, но без проблем с разрешениями. – Thanizer