加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 无法使用Sphinx可读性主题

发布时间:2020-12-20 13:50:19 所属栏目:Python 来源:网络整理
导读:我想为我的Sphinx使用Readability主题,它可用于 here.但是,当我按照说明中的建议修改我的conf.py文件来尝试使用此主题时,它会在make html时显示此错误: sphinx-build -b html -d build/doctrees source build/htmlRunning Sphinx v1.3.1loading pickled env
我想为我的Sphinx使用Readability主题,它可用于 here.但是,当我按照说明中的建议修改我的conf.py文件来尝试使用此主题时,它会在make html时显示此错误:

sphinx-build -b html -d build/doctrees   source build/html
Running Sphinx v1.3.1
loading pickled environment... done

Theme error:
no theme named 'readability' found (missing theme.conf?)
make: *** [html] Error 1

我看到人们之前遇到过像in this question报道的其他一些主题的问题.但是,在我的情况下,conf.py文件存在于那里.

UPDATE

我尝试使用更新的狮身人面像在virtualenv中的主题.并且在执行make html时显示此错误:

sphinx-build -b html -d build/doctrees   source build/html
Running Sphinx v1.3.1
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: 0 added,0 changed,0 removed
looking for now-outdated files... none found
preparing documents... done
writing output... [100%] index

generating indices... genindex
Exception occurred:
  File "~/DEVEL/python/sphinx/sphinx2/local/lib/python2.7/site-packages/sphinx/jinja2glue.py",line 159,in get_source
    raise TemplateNotFound(template)
TemplateNotFound: readability/layout.html
The full traceback has been saved in /tmp/sphinx-err-q42_PH.log,if you want to report the issue to the developers.
Please also report this if it was a user error,so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [html] Error 1

解决方法

所以我能够通过应用 patch到 sphinxtheme-readability来解决这个问题.还有一个 bug report.

组态:

我的source / conf.py看起来像这样:

import sphinxtheme

html_theme = 'readability'
html_theme_path = sphinxtheme.get_html_theme_path()

补丁:

这是我必须应用于sphinxtheme / __ init__.py的补丁:

diff --git a/sphinxtheme/__init__.py b/sphinxtheme/__init__.py
index b0d6433..a3edbe0 100644
--- a/sphinxtheme/__init__.py
+++ b/sphinxtheme/__init__.py
@@ -1 +1,7 @@
-__import__('pkg_resources').declare_namespace(__name__)
 No newline at end of file
+import os
+
+
+def get_html_theme_path():
+    """Return list of HTML theme paths."""
+    cur_dir = os.path.abspath(os.path.dirname(__file__))
+    return [cur_dir]

> sphinxtheme-readability的My Fork
> sphinxtheme-readability的My Test

> Demo

我还提交了一份Pull Request来解决这个问题.

您只需执行以下操作即可对此进行测试:

mkvirtualenv test-sphinxtheme-readability
git clone https://github.com/prologic/test-sphinxtheme-readability.git
cd test-sphinxtheme-readability
pip install -r requirements.txt
make clean html
circuits.web build/html

并访问:http://localhsot:8000/

说明:您遇到此问题的原因以及我认为主题及其示例配置有点不合理的原因是因为路径非常错误.看到:

$make clean html
rm -rf build/*
sphinx-build -b html -d build/doctrees   source build/html
Running Sphinx v1.3.1
making output directory...
readability_path:  /home/prologic/.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme
relative_path:  ../../../.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme
loading pickled environment... not yet created
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: 1 added,0 removed
reading sources... [100%] index                                                                                         
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index                                                                                          
generating indices... genindex
Exception occurred:
  File "/home/prologic/.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinx/jinja2glue.py",in get_source
    raise TemplateNotFound(template)
TemplateNotFound: readability/layout.html
The full traceback has been saved in /tmp/sphinx-err-8zoG8h.log,so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
Makefile:55: recipe for target 'html' failed
make: *** [html] Error 1

$ls -lah /home/prologic/.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme
total 32K
drwxr-xr-x  3 prologic users 4.0K Jun 15 09:30 .
drwxr-xr-x 37 prologic users 4.0K Jun 15 09:30 ..
-rw-r--r--  1 prologic users   55 Jun 15 09:30 __init__.py
-rw-r--r--  1 prologic users  243 Jun 15 09:30 __init__.pyc
drwxr-xr-x  3 prologic users 4.0K Jun 15 09:30 readability
-rw-r--r--  1 prologic users 5.6K Jun 15 09:30 readability_theme_support.py
-rw-r--r--  1 prologic users 2.8K Jun 15 09:30 readability_theme_support.pyc

$ls -lah ../../../.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme
ls: cannot access ../../../.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme: No such file or directory

请注意我在source / conf.py中打印的两个路径:

readability_path:  /home/prologic/.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme
relative_path:  ../../../.virtualenvs/sphinx-readability/lib/python2.7/site-packages/sphinxtheme

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读