Я использую OS X Lion (запущен на Leopard и прошел два обновления). OS X Lion поставляется с Python 2.7. В какой-то момент я подумал, что Python и его пакеты работают вместе (возможно, до моего обновления с Lion).
Я могу запускать Python без прав суперпользователя. Однако, когда я импортирую пакеты или пытаюсь запустить, например, easy_install
, я получаю следующую ошибку.
system:distutils $ python
Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import zope
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/zope/__init__.py", line 1, in <module>
__import__('pkg_resources').declare_namespace(__name__)
File "build/bdist.linux-i686/egg/pkg_resources.py", line 698, in <module>
class Environment(object):
File "build/bdist.linux-i686/egg/pkg_resources.py", line 701, in Environment
def __init__(self, search_path=None, platform=get_supported_platform(), python=PY_MAJOR):
File "build/bdist.linux-i686/egg/pkg_resources.py", line 96, in get_supported_platform
plat = get_build_platform(); m = macosVersionString.match(plat)
File "build/bdist.linux-i686/egg/pkg_resources.py", line 222, in get_build_platform
plat = get_platform()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/util.py", line 165, in get_platform
"Don't know machine value for archs=%r"%(archs,))
ValueError: Don't know machine value for archs=()
>>> ^D
system:distutils $
Когда я запускаю его как root или как sudo
, все работает нормально. Все каталоги и файлы имеют разрешения 0755
или 0644
соответственно.
Какими должны быть разрешения для Python и его пакетов в OS X Lion, чтобы вы могли использовать его как обычный пользователь? Способ, которым мои разрешения в настоящее время настроены по умолчанию, или я испортил разрешения по пути.
Я понимаю, что могу пройти через каталоги / System / Library / ... и / Library / Python / ... и изменить владельца и разрешение для меня. Но это не кажется правильным решением.