Python 2.7 Python脚本正在从旧的Python安装加载模块

Python 2.7 Python脚本正在从旧的Python安装加载模块,python-2.7,osx-snow-leopard,Python 2.7,Osx Snow Leopard,我正在执行sphinx构建,以将一些rst文件转换为html。但是我得到了一个错误,因为脚本试图从旧的Python安装中导入模块 我的环境: Mac OS X 10.6.8 Python 2.7安装于 系统中包含Python 2.6 执行的命令是: sphinx-build -b html -d _build/doctrees . _build/html 错误文本如下所示 Traceback (most recent call last): File "/usr/local/bin

我正在执行sphinx构建,以将一些rst文件转换为html。但是我得到了一个错误,因为脚本试图从旧的Python安装中导入模块

我的环境:

  • Mac OS X 10.6.8
  • Python 2.7安装于
  • 系统中包含Python 2.6
执行的命令是:

sphinx-build -b html -d _build/doctrees   . _build/html
错误文本如下所示

Traceback (most recent call last):
  File "/usr/local/bin/sphinx-build", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2556, in <module>
    """
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 620, in require
    ``resolve()`` method. The `fallback` flag indicates whether we should
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 518, in resolve
    yield self.by_key[key]
pkg_resources.DistributionNotFound: Jinja2>=2.3
make: *** [html] Error 1
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/sphinx build”,第5行,在
从打包资源导入加载入口点
文件“/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/Python/pkg_resources.py”,第2556行,在
"""
文件“/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/Python/pkg_resources.py”,第620行,在require中
``resolve()`method.`fallback`标志指示我们是否应该
文件“/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/Python/pkg_resources.py”,第518行,分辨率为
按_键[键]
pkg_resources.DistributionNotFound:Jinja2>=2.3
make:**[html]错误1
我很确定我已经安装了Jinja 2.6。问题是它是为Python 2.7安装的,sphinx-build.py脚本不知何故使用了Python 2.6模块目录(您可以在错误文本中看到Python 2.6目录的路径)

我的疑问是:为什么脚本要在那个目录中搜索?一些事实

  • 我没有定义PYTHONPATH变量,如果我只加载python解释器并打印sys.path,我会得到属于Python2.7的所有目录,更不用说Python2.6目录了
  • 在我的工作目录中没有包含Python 2.6目录的.pth文件
那么,我缺少什么呢?为什么Python2.7会在Python2.6的目录中查找

更新:看起来sphinx build是使用Python2.6构建的。我删除了它,但现在无法恢复。我安装了sphinx和docutils,但没有安装sphinx build:-(.有什么线索吗


提前非常感谢

好吧,这是一个愚蠢的错误。sphinx构建二进制文件是使用Python 2.6构建的。我删除了它,并使用Python 2.7重建了sphinx

之后,二进制文件被放入/Library/Frameworks/Python.framework/Versions/2.7/bin/。我刚刚创建了一个指向/Library/Frameworks/Python.framework/Versions/2.7/bin/sphinx-build-in/usr/local/bin的符号链接(出于任何原因,它都没有创建)。现在它可以工作了