0

更新到 mac osx 10.6 后,我不得不切换回 python 2.5 才能使虚拟环境正常工作。但我仍然无法启动我的涡轮齿轮项目。帕斯特给出了这个:

Traceback (most recent call last):
  File ".../tg2env/bin/paster", line 5, in <module>
    from pkg_resources import load_entry_point
  File ".../tg2env/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg/pkg_resources.py", line 657, in <module>
  File ".../tg2env/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg/pkg_resources.py", line 660, in Environment
  File ".../tg2env/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg/pkg_resources.py", line 55, in get_supported_platform
  File ".../tg2env/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg/pkg_resources.py", line 186, in get_build_platform
  File ".../tg2env/lib/python2.5/distutils/__init__.py", line 14, in <module>
    exec open(os.path.join(distutils_path, '__init__.py')).read()
IOError: [Errno 2] No such file or directory: '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/distutils/__init__.py'

有任何想法吗?谢谢。

4

3 回答 3

0

如您所见,在 Snow Leopard 10.6 中,Apple 提供了 Python 2.6.2(默认/usr/bin/python)和旧版 Python 2.5.4 ( /usr/bin/python2.5)。两人的心都住在/System/Library/Frameworks/Python.framework。通常,以下所有内容/System均由 Apple 提供和管理;它不应该被其他任何人修改。

如果该消息是可信的,那么您的 10.6 安装有问题。

$ cd /System/Library/Frameworks/Python.framework/Versions
$ ls -l
total 8
drwxr-xr-x  5 root  wheel  272 Sep  5 10:18 2.3/
drwxr-xr-x  9 root  wheel  408 Sep  5 10:43 2.5/
drwxr-xr-x  9 root  wheel  408 Sep  5 10:43 2.6/
lrwxr-xr-x  1 root  wheel    3 Sep  5 10:18 Current@ -> 2.6
$ ls -l 2.5/lib/python2.5/distutils/__init__.py
-rw-r--r--  1 root  wheel  635 Jul  7 23:55 2.5/lib/python2.5/distutils/__init__.py

$ /usr/bin/python2.5
Python 2.5.4 (r254:67916, Jul  7 2009, 23:51:24) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import distutils
>>>

检查该文件是否存在并具有正确的权限。如果没有,您应该找出您的其他问题/System并考虑从备份中恢复或重新安装 Snow Leopard。

于 2009-10-07T23:53:04.180 回答
0

为什么需要切换回 2.5 才能使 virtualenv 工作?我已经升级到 10.6 并且很高兴在 Python 2.6 中使用 virtualenv。

于 2009-10-07T20:45:43.977 回答
0

可能为 2.6 发行版安装了鸡蛋。请在您的终端中运行:

defaults write com.apple.versioner.python Version 2.5
export VERSIONER_PYTHON_VERSION=2.5
sudo easy_install virtualenv

查看第二行,它应该更改当前终端会话的 python 版本。

dgl@dgl:~/ > python
Python 2.6.1 (r261:67515, Jul  7 2009, 23:51:51) 
...
dgl@dgl:~/ > export VERSIONER_PYTHON_VERSION=2.5
dgl@dgl:~/ > python
Python 2.5.4 (r254:67916, Jul  7 2009, 23:51:24) 
...
于 2009-10-07T20:51:34.853 回答