Проблема с расширением
sphinxcontrib-httpdomain. При объявлении блока http:get/http:post и любого другого (http:*) не собирается документ. Sphinx показывает следующую ошибку:
Unknown directive type "http:post"
Как я объявляю http:get(копипаста из оф. документации к расширению)
.. http:get:: /users/(int:user_id)/posts/(tag)
The posts tagged with `tag` that the user (`user_id`) wrote.
**Example request**:
.. sourcecode:: http
GET /users/123/posts/web HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
**Example response**:
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript
[
{
"post_id": 12345,
"author_id": 123,
"tags": ["server", "web"],
"subject": "I tried Nginx"
},
{
"post_id": 12346,
"author_id": 123,
"tags": ["html5", "standards", "web"],
"subject": "We go to HTML 5"
}
]
:query sort: one of ``hit``, ``created-at``
:query offset: offset number. default is 0
:query limit: limit number. default is 30
:reqheader Accept: the response content type depends on
:mailheader:`Accept` header
:reqheader Authorization: optional OAuth token to authenticate
:resheader Content-Type: this depends on :mailheader:`Accept`
header of request
:statuscode 200: no error
:statuscode 404: there's no user
До и после блока есть 2 пустых строки. В качестве табуляции использовал 3, 4 пробела и табуляцию. Не помогло
Содержимое блока extensions в файле conf.py
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.extlinks',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.ifconfig',
'sphinx.ext.doctest',
'sphinx.ext.graphviz',
'sphinxcontrib.httpdomain'
]
Что попробовал и не помогло:
- Переустановка всех sphinx* пакетов через sudo pip
- Переустановка всех sphinx* пакетов через apt-get. Тут вообще при билде ругнулось на старую версию сфинкса. В моём наборе репозиториев не нашлось версии, более свежей, чем 1.5
- Указать путь к расширению в conf.py
- Переустановить autodoc, docutils через pip
- Собрать документ на другом компьютере
- Изучить логи сборки с -vvvv ключом
- Почитать документацию к расширению
Эта информация может помочь:
- Все пакеты sphinx установлены в /usr/local/lib/python2.7/dist-packages
Вывод pip show sphinxName: Sphinx
Version: 1.6.7
Summary: Python documentation generator
Home-page:
sphinx-doc.org
Author: Georg Brandl
Author-email: georg@python.org
License: BSD
Location: /usr/local/lib/python2.7/dist-packages
Requires: sphinxcontrib-websupport, babel, imagesize, setuptools, typing, Pygments, requests, six, docutils, alabaster, Jinja2, snowballstemmer
Вывод pip show sphinxcontrib-httpdomainName: sphinxcontrib-httpdomain
Version: 1.6.0
Summary: Sphinx domain for documenting HTTP APIs
Home-page:
https://github.com/sphinx-contrib/httpdomain
Author: Hong Minhee
Author-email: hong.minhee@gmail.com
License: BSD
Location: /usr/local/lib/python2.7/dist-packages
Requires: six, Sphinx
- Вывод uname: Linux 4.13.0-32-generic #35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux