我一直在使用virtualenv + pip进行Python开发。不知道怎么回事,但突然之间每当我尝试运行一个命令行工具或导入库时,就会收到以下错误消息:
Traceback (most recent call last):
File "/Users/kyle/.virtualenvs/fj/bin/pip", line 4, in <module>
import pkg_resources
File "/Users/kyle/.virtualenvs/fj/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 698, in <module>
the platform/python version defined at initialization are added.
File "/Users/kyle/.virtualenvs/fj/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 701, in Environment
search_path = sys.path
File "/Users/kyle/.virtualenvs/fj/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 96, in get_supported_platform
'Environment', 'WorkingSet', 'ResourceManager',
File "/Users/kyle/.virtualenvs/fj/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py", line 221, in get_build_platform
if provDarwin:
File "/Users/kyle/.virtualenvs/fj/lib/python2.6/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.6/lib/python2.6/distutils/__init__.py'
据我所知,Python 正在尝试在 Mac OSX 系统版本的 Python 中查找 distutils_path,而不是应该在我的虚拟环境版本中查找。不确定为什么突然出现这种情况。可能是最近进行的OSX更新?另一个可能性是我的硬盘快要坏了,所以苹果给了我一个新的并运行了 Migration Assistant。也许某些东西没有正确地传输过来?
distutils_path = os.path.join(os.path.dirname(ConfigParser.__file__), 'distutils')
我真的不知道这是如何工作的,但似乎ConfigParser
指向了OSX系统Python,而应该指向我的虚拟环境。 - Kyle Fox