Sphinx # Install で用意した環境で、sphinx-build を実行してみたところ、昨年の同時期に通ったはずのビルドが通らず、以下のようなエラーになった。
$ sphinx-build -M html . _build Sphinx v8.2.3 を実行中 翻訳カタログをロードしています [ja]... 完了 Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. ERROR: Invalid value `None` in intersphinx_mapping['https://docs.python.org/']. Expected a two-element tuple or list. Configuration error! Versions ======== * Platform: linux; (Linux-6.6.87.1-microsoft-standard-WSL2-x86_64-with-glibc2.39) * Python version: 3.12.3 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.21.2 * Jinja2 version: 3.1.6 * Pygments version: 2.19.1 Last Messages ============= None. Loaded Extensions ================= None. Traceback ========= File "/home/kou/.venv/lib/python3.12/site-packages/sphinx/ext/intersphinx/_load.py", line 132, in validate_intersphinx_mapping raise ConfigError(msg) sphinx.errors.ConfigError: Invalid `intersphinx_mapping` configuration (1 error). The full traceback has been saved in: /tmp/sphinx-err-k2_ecqs5.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! 次期バージョンでのエラーメッセージ改善のために、ユーザーエラーの場合にも報告してください。
なんか
ERROR: Invalid value `None` in intersphinx_mapping['https://docs.python.org/']. Expected a two-element tuple or list.みたいに言われているのだが、conf.py を見ると、
intersphinx_mapping = {'https://docs.python.org/': None}みたいにになっててタプルになってない。
- Sphinx / Documentation / Sphinxを使う / 拡張 / sphinx.ext.intersphinx -- 他のプロジェクトのドキュメントへのリンク # 設定
intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}なんだそうで、書き換えてみたところ通った。
これ何?
バージョン上がって conf.py の仕様変更になったって事?
と思い、
Web archive で古いバージョン探してみたら、
つまり、Sphinx 8.0 になった時点で古い設定への対応が無効化されたって事らしい。
この記述、その次に記録されてるタイミング
バージョン上がって conf.py の仕様変更になったって事?
と思い、
Web archive で古いバージョン探してみたら、
- waybackmachine / 2024-07-12: Sphinx / Documentation / Sphinxを使う / 拡張 / sphinx.ext.intersphinx -- 他のプロジェクトのドキュメントへのリンク # 設定
バージョン 6.2 で非推奨みたいな記述を見つけた
注意
This is the format used before Sphinx 1.0. It is deprecated and will be removed in Sphinx 8.0.
つまり、Sphinx 8.0 になった時点で古い設定への対応が無効化されたって事らしい。
この記述、その次に記録されてるタイミング
- waybackmachine / 2024-12-03: Sphinx / Documentation / Sphinxを使う / 拡張 / sphinx.ext.intersphinx -- 他のプロジェクトのドキュメントへのリンク # 設定
タグ
コメントをかく