Ubuntuで動かしているOctoprintでv1.8.0からv1.8.1のアップデートをしたら起動できなくなった。
$ ./OctoPrint/bin/octoprint serve Traceback (most recent call last): File "/home/ytotsuka/OctoPrint/lib/python3.8/site-packages/pkg_resources/__init__.py", line 583, in _build_master ws.require(__requires__) File "/home/ytotsuka/OctoPrint/lib/python3.8/site-packages/pkg_resources/__init__.py", line 900, in require needed = self.resolve(parse_requirements(requirements)) File "/home/ytotsuka/OctoPrint/lib/python3.8/site-packages/pkg_resources/__init__.py", line 791, in resolve raise VersionConflict(dist, req).with_context(dependent_req) pkg_resources.ContextualVersionConflict: (Jinja2 2.11.3 (/home/ytotsuka/OctoPrint/lib/python3.8/site-packages), Requirement.parse('Jinja2>=3.0'), {'flask'})
python内のjinja2パッケージが古いので起動しない訳だが、初めはよく分からなかった。
OctoprintはOS内のpythonを使用せず、Octoprint内のpythonを使用しているので、パッケージのアップデートは以下のように行う。
$ ./OctoPrint/bin/python -m pip list --outdated Package Version Latest Type ------------------ --------- ----------- ----- Jinja2 2.11.3 3.1.2 wheel $ ./OctoPrint/bin/python -m pip install -U jinja2
これで起動できた。