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
これで起動できた。