我正在执行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 modules目录(您可以在错误文本中看到Python 2.6目录的路径)。
我的疑问是:为什么脚本要在该目录中搜索?一些事实
所以,我想念的是什么?为什么Python 2.7在Python 2.6的目录中查找?
更新:看起来sphinx-build是使用Python2.6构建的。我删除了它,但现在无法找回。我已经安装了Sphinx和docutils,但是没有安装sphinx-build :-(。有什么线索吗?
提前谢谢了
好的,这是一个愚蠢的错误。sphinx-build二进制文件是使用Python 2.6构建的。我删除了它,并用Python 2.7重建了狮身人面像。
之后,将二进制文件放在/Library/Frameworks/Python.framework/Versions/2.7/bin/中。我刚刚在/ usr / local / bin中创建了一个指向/Library/Frameworks/Python.framework/Versions/2.7/bin/sphinx-build的符号链接(由于某种原因未创建)。现在可以了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句