2017年4月25日火曜日

sphinx-autobuildをWindowsで使ってみる

Sphinxでドキュメント作る際に、ビルドの手間を軽減してくれる「sphinx-autobuild」を windowsで使用する際にはまったのでメモ

前提条件

Sphinxがインストールされていること。


環境

  • Windows 7
  • Python 2.7
  • Sphinx 1.3.1
  • sphinx-autobuild 0.6.0 ←今回環境を作るやつ
※Sphinxとはといったことについては割愛


インストール

pip install sphinx-autobuild

使い方

sphinx-autobuild <ソースディレクトリ> <ビルド成果物出力ディレクトリ>

※コマンド実行後http://127.0.0.1:8000アクセス


インストールと使い方は下記サイト参考にしました。
http://qiita.com/mikanbako/items/28a3fc5d1da42939f941


Sphinxプロジェクトのファイル名・パスに全角がある場合


ファイル名やパスに全角があると「UnicodeDecodeError」が発生し、ブラウザで表示しても500エラーが表示される。
原因はPython2.xの場合文字コードの初期値がasciiコードだが、WindowsのファイルパスはShift-JISのため。
この場合、sitecustomize.pyというテキストファイルを作成し、下記の2行を記載、Pythonインストールフォルダ内にある「site-packages」フォルダを探し、直下に保存する。(ファイル自体の文字コードはShift-JISで作成する。)

import sys
sys.setdefaultencoding('cp932')


※Sphinxのドキュメント自体はUTF-8で記述しなければいけないのが地味に問題をややこしくします。