nikkie-ftnextの日記

イベントレポートや読書メモを発信

週末ログ | #技書博 2にて頒布するargparseを使ってPythonでコマンドラインツールを作る本を書き進めていました

はじめに

頑張れば、何かがあるって、信じてる。nikkieです。
週末11/23-24のログを共有します。

  • argparse本執筆状況
  • PyCon JP 2019のリジェクトコン

執筆状況

先日発信したように、12/14の技書博2にてargparseを扱ったテーマにPython本を頒布します(2F か-01 です)。

土日はモクモク書き進めていました。
現在の目次はこんな感じです(執筆中ですので、頒布物では変更されうる点ご了承ください)。

f:id:nikkie-ftnext:20191125004415p:plain

本編を書き上げたので、「当日頒布はできるようになった」という感触です。
ただまだまだ書きたいことは多く、時間との戦いの様相を呈してきました。

  • 1章は25%くらい
  • 2章は100%(いったん書き上げた)
  • 3章は脳内の構成の15%くらい。ただし時間との兼ね合いで全部書き切らないという選択もできる

書いたものをブラッシュアップしたいので、11月いっぱいで書ききるのが現在最優先の目標です!
レビューに協力していただける方を募集します(#pyhack でも聞いてみよう)。

Sphinxで書いた原稿をPDFにビルドする

Ubuntu16.04 × Python3.6 × Sphinx 2 の環境でビルドできるようになったので備忘録がてら共有。

Ubuntu16.04 + Python3.6 + Sphinx2 PDFビルド環境 · GitHub

元にしたのはtokibitoさんが作ったこちらのイメージ:
SphinxでPDFをビルドするためのDockerイメージを作った - 偏った言語信者の垂れ流し

このイメージは

で動いています。
私の執筆環境は、macOS × Python3.7 × Sphinx 2系です。

Sphinxは1→2でcontents.rstがindex.rstにrenameされたらしく1、先のイメージをrunしたところ、「contents.rst not found」エラーに遭遇。
index.rstと同じ内容のcontents.rstを作ったところ、PDFがビルドできました。

Sphinxのメジャーバージョンが違うのか。2系で合わせておいたほうが後々はまらなさそう」と考え、tokibitoさん作成のDockerfileを手元でbuild
すると、Sphinx2系のインストールにはPython3.5以上が必要とpip installでエラー。

そこでUbuntu16.04でPython3系が使えるようにしている情報を探し、aptで入れる方法2を採用してDockerイメージをbuild
このイメージで、先の目次のようにPDFをビルドできています😁

リジェクトコン #rejectpy

浮かんだアイデアを検証するべく、Twitterのアンケートを2つ作りました。
よろしければ、ポチッとお願いします!

執筆を落ち着けて、CfPなど動いていかねば。

以上です。

f:id:nikkie-ftnext:20191117024909p:plain


  1. 解釈違いかもしれませんが、「バージョン 2.0 で変更: The default is changed to ‘index’ from ‘contents’.」のような記載が出てきました https://www.sphinx-doc.org/ja/master/usage/configuration.html#confval-master_doc

  2. ソースのtgzをwgetで取得してビルドする方法も見つかったのですが、手順がシンプルなのでaptを選択:dockerでubuntu16+python3.6+mecab(neolog-ipadic)を構築する - メモ帳python -m pipの書き方は覚えておきたいです