Python3
tinkerer
Pipenv

Tinkererのバグにぶち当たったので、手動で手元のスクリプトを改修した話


はじめに

この記事は静的サイトジェネレーター Advent Calendar 2018 - Qiitaの7日目の記事となります。


はりきって「ドイツのトリ」の記事を書いたのに……

僕自身、Advent Calendarくらいしかブログを書く動機が無いので、久々にTinkererで執筆してビルドすると、何らかのバグにぶち当たることが比較的多いです。

今回もばっちりドイツのトリ Advent Calendar 2018 - Adventarの記事を書いていざビルドしたらコンソールに

Extension error:

Config value 'author' already present

って感じの、本来日本語が表示されるはずのメッセージが、日本語エンコードに失敗してるのか、UTF-8コードで吐き出されたわけです。 \uxxxx\uxxxx…… っていう具合に。


GitHubにIssue上がってないかなー? → あったわ……

しかもこの記事を書いている時点で最近上がったやつっぽい。

Build error with Sphinx-1.8.1 · Issue #112 · vladris/tinkerer

そして幸いなことに、直し方は「1行削除」で終了する話でしたので、これなら自分でもなんとかなることはわかりました。

しかし、まだPyPlには更新は反映されている様子はなかったため、自分で手元のスクリプトを修正するという手で対応しようと思いました。


で、スクリプトはどこよ……。

ここで問題が発生しました。

僕のTinkererビルド環境はPipenvに依存しております。

昔はPython標準のvenvを使っていたため、ローカルマシンの何処かにPythonスクリプト群があることは分かっているつもりですが、実際何処にあるのかはよく知りませんでした。

そしてPipenvを構築したときのログも破棄してしまった。

「あ、詰んだわ」

そう思いながらPipenvと仮想環境 — pipenv 2018.11.27.dev0 ドキュメントのページを読んでいたら、ヒントが……、

Creating a Pipfile for this project...

Creating a virtualenv for this project...
Using base prefix '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6'
New python executable in ~/.local/share/virtualenvs/tmp-agwWamBd/bin/python3.6
Also creating executable in ~/.local/share/virtualenvs/tmp-agwWamBd/bin/python
Installing setuptools, pip, wheel...done.

たまたま会社のMacで就業時間中にこのトラブルの解決をしようとしていたので、早速 ~/.local/share/virtualenvs/ 配下を調べると。

ありました、ありました。僕の探しているPythonスクリプト群。

そこからそのディレクトリ配下をあちこち行き来して、ようやく {仮想環境の名前}/lib/python*.*/site-package/ の下に tinkerer のディレクトリを見つけました。


コメントアウト → ビルド

後は先程のIssueの通りに、該当行をコメントアウトしてビルドしましたら……、

ちゃんとビルドが実行されました! やったぜ!


あとがき

そんな感じで就業時間中に5日遅れで非公式参加ではありますが、マシュマロにアヒルのような脚が生えているそれに関数をぶん投げて演算させたい — ヒマジンマンガを載っけることができまして。

この喜びを忘れないうちに、また就業時間中にこの記事を書いているのでした。

……仕事しろよ。