この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
CX事業本部の夏目です。
AWS Data Wrangler(現AWS SDK for pandas)の1.8.1を案件で使用しているのですが、今日確認したらドキュメントが削除されていました。
最新のバージョンにアップデートするにもドキュメントを確認できないと困るので、自分でビルドしてみることにした。
ビルドしてみる
環境
- Ubuntu 22.04.1 LTS
- Python 3.7.13
Steps
まず全体を記述する。
$ git clone https://github.com/aws/aws-sdk-pandas.git
$ cd aws-sdk-pandas
$ git checkout 1.8.1
$ python -m venv .venv
$ source .venv/bin/activate
$ echo “setuptools<58” >> requirements-dev.txt
$ echo “jinja2==3.0.3” >> requirements-dev.txt
$ ./requirements.sh
$ cd docs
$ make html
特筆すべきは6行目と7行目。
6行目は sphinx_bootstrap_theme
をインストールするため。
setuptools
がv58以上だとuse_2to3
がなくなるからインストールに失敗する。
× Running setup.py install for sphinx_bootstrap_theme did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in sphinx-bootstrap-theme setup command: use_2to3 is invalid.
[end of output]
7行目はドキュメントの生成時にエラーが出てしまうため。
Traceback (most recent call last):
File "/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/bin/sphinx-build", line 5, in <module>
from sphinx.cmd.build import main
File "/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/lib/python3.7/site-packages/sphinx/cmd/build.py", line 25, in <module>
from sphinx.application import Sphinx
File "/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/lib/python3.7/site-packages/sphinx/application.py", line 42, in <module>
from sphinx.registry import SphinxComponentRegistry
File "/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/lib/python3.7/site-packages/sphinx/registry.py", line 24, in <module>
from sphinx.builders import Builder
File "/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 26, in <module>
from sphinx.util import import_object, logging, rst, progress_message, status_iterator
File "/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/lib/python3.7/site-packages/sphinx/util/rst.py", line 22, in <module>
from jinja2 import environmentfilter
ImportError: cannot import name 'environmentfilter' from 'jinja2' (/home/yuta/workspace/tmp/002/a/aws-sdk-pandas/.venv/lib/python3.7/site-packages/jinja2/__init__.py)
make: *** [Makefile:20: html] Error 1
This happens with
jinja2>=3.1.0
, but if you step it down tojinja2==3.0.3
the docs build. https://bytemeta.vip/repo/executablebooks/meta/issues/720
jinja2のバージョンを固定することでとりあえずは問題がでなくなるので、固定する。
成果物
Makefileがあるディレクトリに build
というディレクトリが生成される。
build
├── doctrees
│ ├── api.doctree
│ ├── environment.pickle
│ ├── index.doctree
│ ├── install.doctree
│ ├── stubs
│ └── what.doctree
└── html
├── _sources
├── _static
├── api.html
├── genindex.html
├── index.html
├── install.html
├── objects.inv
├── search.html
├── searchindex.js
├── stubs
└── what.html
htmlの中のファイルをどこかにホスティングすればドキュメントを見ることができるようになります。