我正在执行sphinx-build将一些rst文件转换为html。但是我收到一个错误,因为它试图从旧的Python安装中导入模块。
我的环境:
执行的命令是:
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
我很确定我安装了Jinja 2.6。问题是它是为Python 2.7安装的,并且sphinx-build.py脚本以某种方式使用Python 2.6模块目录(您可以在错误文本中看到Python 2.6目录的路径)。
我的疑问是:为什么脚本在该目录中搜索?一些事实
那么,我错过了什么?为什么Python 2.7在Python 2.6的目录中查找?
更新:看起来sphinx-build是使用Python2.6构建的。我删除了它,但现在我无法取回它。我已经安装了Sphinx和docutils,但没有安装sphinx-build :-(任何线索?
非常感谢提前
答案 0 :(得分:0)
之后,将二进制文件放在/Library/Frameworks/Python.framework/Versions/2.7/bin/中。我刚刚在/ usr / local / bin中创建了/Library/Frameworks/Python.framework/Versions/2.7/bin/sphinx-build的符号链接(由于任何原因,它没有创建)。现在它有效。