Python Turbogears:更新到mac osx 10.6后无法启动粘贴程序

Python Turbogears:更新到mac osx 10.6后无法启动粘贴程序,python,macos,turbogears2,Python,Macos,Turbogears2,在升级到MacOSX10.6之后,我不得不切换回Python2.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/sit

在升级到MacOSX10.6之后,我不得不切换回Python2.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'

有什么想法吗?谢谢。

为什么要切换回2.5才能让virtualenv正常工作?我已经升级到10.6,并且很高兴在Python2.6中使用virtualenv。

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

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) 
...

如您所见,在雪豹10.6中,苹果提供了python2.6.2(默认为/usr/bin/Python)和旧式python2.5.4/usr/bin/python2.5。两者的核心都位于/System/Library/Frameworks/Python.framework中。一般来说,系统下的所有东西都由苹果提供和管理;它不应该被任何其他人修改

如果该消息可信,则说明您的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
>>>

检查文件是否存在,并具有正确的权限。如果不是,你应该找出你的系统有什么问题,并考虑从备份恢复或重新安装Snow Leopard。< /P>,你是如何安装Python 2.5的?您是否在之后重新运行TG安装以确保所有路径都正确?Python2.5已经安装,我只是将其设置为默认版本。重新运行TG安装会给我带来错误,并且尝试创建一个新的虚拟环境。我切换回去,因为我认为这会解决问题。我还需要保持TG应用程序2.5的兼容性。似乎仍然使用Python 2.6:最佳匹配:virtualenv 1.3.4处理virtualenv-1.3.4-py2.6.egg virtualenv 1.3.4已经是easy-install.pth中的活动版本。使用/Library/Python/2.6/site-packages/virtualenv-1.3.4-py2.6.egg处理将virtualenv脚本安装到/usr/local/binvirtualenv的依赖项已完成virtualenvSorry的依赖项处理,我忘记了第二行。现在一切都好了。