我正在運行OS X Lion(在Leopard上啓動,並已經通過兩次升級)。 OS X Lion自帶Python 2.7。在某些時候,我認爲Python和它的軟件包一起工作(可能在我升級到Lion之前)。正確的權限Python和包OS X 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 $
當我運行它作爲根或sudo
,一切工作正常。所有的目錄和文件分別具有0755
或0644
權限。
OS X Lion上的Python及其軟件包的權限應該如何,以便您可以將其用作普通用戶?是我的權限目前配置爲默認的方式,還是我一直搞亂了權限。
我意識到我可以通過/ System/Library/...和/ Library/Python/...目錄並將所有權和權限更改爲我。但這似乎並不是正確的解決方案。
我毫不懷疑你是對的。我有和你一樣的Python版本。我從雪豹升級。你有沒有乾淨的Lion安裝?我認爲之前可能有一個問題,我沒有安裝XCode。 – Brian 2012-03-04 14:40:32
我有從SL升級的機器和Lion的乾淨安裝,據我所知,我從來沒有見過除2011年7月31日以外的版本日期的蘋果公司的'/ usr/bin/python2.7'。 – 2012-03-04 17:18:12
我不知道爲什麼我的建造日期不是2011年7月31日,但很多其他人也有我的建造日期。我沒有使用預發佈版,並且正在運行Lion 10.7.3。我昨天也升級到最新版本的XCode。 – Brian 2012-03-04 21:48:21