torutkのブログ

ソフトウェア・エンジニアのブログ

Sphinxのバージョンアップ(Windows)

以前WindowsマシンにセットアップしたSphinxのバージョンアップメモです。

Sphinxは、Pythonのモジュールとして作られています。インストールには、setup.py を使いましたが、バージョンアップに際して削除といった機能はないようです。

そこで、いったん前のバージョンを削除し、新しいバージョンをインストールするという操作を行います。

古いバージョンのアンインストール方法

setup.py でインストールした場合

Pythonのsite-packageディレクトリから削除する

eggを使ってインストールした場合
  • site-packageディレクトリにある<モジュール名>-<バージョン>-.eggディレクトリを削除する
  • site-packageディレクトリにあるeasy-install.pth から該当モジュールの記述を削除する
$ easy_install -m <モジュール名>

とすると、easy-install.pthから指定したモジュールの記述が削除されます。

バージョンアップ作業メモ

docutilsを0.7→0.8.1へ
$ easy_install -m docutils

docutils-0.7-py2.6.egg ディレクトリを削除
docutils-0.8.1.tar.gzを展開して、その中でpython setup.py installを実行

Jinja2を2.5.5→2.6へ
$ easy_install -m Jinja2

Jinja2-2.5.5-py2.6.eggディレクトリを削除
Jinja2-2.6.tar.gzを展開して、その中でpython setup.py installを実行

Sphinxを1.0.7→1.1へ
$ easy_install -m Sphinx

Sphinx-1.0.7-py2.6.eggディレクトリを削除
easy_install Sphinx-1.1-py2.6.egg を実行

sphinxのドキュメントmakeでエラー発生!(10/16追記)

バージョンアップ後、既存のVer.1.0.7で作成していた文書をmakeしてみたところ、エラーが発生しました。

C:\work\hello>make html
Running Sphinx v1.1

Configuration error:
There is a syntax error in your configuration file: invalid syntax (conf.py, lin
e 13)

うーん、困った。Googleでも明快な答えに出会わない。で、Sphinx v1.1で作成したconf.pyと比較してみると、改行コードがDOS/Unixと違っていた。試しに、Sphinx v1.0で作成したconf.pyを改行コードだけUnixに変更してみたら、makeがエラーにならず通るようになりました。