Compnet

仕事とか遊びとか、日々折々

2016-10-04(火)

Pelican のインストール

Posted by Nakane, R. in technical   

先の記事 で本 Web サイトを、静的サイト ジェネレーターで生成したサイトに切り替えると書きました。 静的サイト ジェネレーターには、Pelican という Python で書かれたものを使用することにしました。

Pelican in the sky

いままで使っていた WordPress は Web サーバー上で動作する仕組みです。 これに対して、ほとんどの静的サイト ジェネレーターは、任意の PC 等で動かして、これによって生成された HTML ファイルなどの一式を Web サーバーにアップロードして使います。 つまり、WordPress は Web サーバーにインストールして動かさなくてはなりませんが、静的サイト ジェネレーターは Web サーバーに限らずどこにでもインストールできるということです。

大抵は、記事 (コンテンツ) を専属的に書く人が日常的に使用している PC に静的サイト ジェネレーターをインストールしていると思います。 複数の人が記事を書くようなときは共通のサーバーにインストールして、そこに記事を集めてから HTML ファイルを生成して Web サーバーにアップロードする運用をしているところもあるでしょう。 もちろん、Web サーバーにインストールして動かすこともできます。

本サイトの場合は、記事を書くのは筆者ひとりのため、自分が使用する PC に Pelican をインストールするつもりです。

などと書きつつも、なぜか筆者が日常使用している Windows 10 ではなく、いつものように Ubuntu に Pelican をインストールすることにします。 Ubuntu のバージョンは現時点で最新の LTS である 16.04 です。

Ubuntu ではほとんどの OSS が標準パッケージとして提供されています。 もちろん Pelican もその例に漏れず、sudo apt-get -y install pelican コマンドを実行するだけで、必要なパッケージを含めて手軽に Pelican をインストールできます。 しかしながら、Ubuntu のパッケージは OS のリリース時点で凍結されるため、Ubuntu 16.04LTS では Pelican のバージョンは 3.6.3 です。 本記事執筆時の Pelican の最新バージョンも 3.6.3 なので、Ubuntu の標準パッケージをインストールするのもいいでしょう。

Pelican は Python3 で動かしたい

ただし、Ubuntu の標準パッケージの Pelican は、Python 2.7 で実行されるように作られています。 Python 2.7 のサポートは 2020年までということになっていることもあり、筆者としてはできるだけ Python 3.x 系列を使って行きたいと考えています。 些細なことですが、これに合わせて Pelican も Python3 で実行させようと思います。

Pelican を Python3 で実行させるには、virtualenv を使って個別の Python 環境を作ってやる必要があります。 これは Pelican がシステム標準の Python を使って実行するようになっているからです。 そこでホーム ディレクトリの pelican というディレクトリに Python3 の環境を virtualenv で作ってから、そこに Pelican をインストールすることにします。

virtualenv で Python3 の環境を作って Pelican をインストールする

virtualenv で Python3 の環境を作る

まずは virtualenv コマンドが使えるようにします。 Ubuntu では virtualenv コマンドが最初からはインストールされていないので、これをインストールして使えるようにしなくてはなりません。 もっとも、多分に漏れず virtualenv も標準パッケージで提供されているので sudo apt-get -y install virtualenv コマンドを実行するだけ使えるようになります。

virtualenv コマンドが使えるようになったら、これを使って Python3 の環境を作ります。 Python3 自体は Ubuntu では最初からインストールされてるので、改めてインストールする必要はありません。 なお、Ubutnu 16.04LTS の Python3 のバージョンは 3.5.1 です。

Python3 の環境はホーム ディレクトリの pelican ディレクトリに作るので virtualenv -p python3 --prompt '(python3)' ~/pelican コマンドを実行します。 sudo は付けません。 Pelican は利用者が直接実行して使うもので、当面は (というかこのシステム自体が) 筆者以外の利用者がいないので、sudo を付ける必要がどこにもないからです。 そのためあえて Python3 の環境を、ホーム ディレクトリの中に作っています。 また、この環境に入ったときに Python3 を使っていることがすぐにわかるように、プロンプトに "(python3)" と表示されるようにしました。

virtualnve の環境に Pelican をインストールする

次に Python3 を使う環境に入ります。 cd ~/pelican コマンドを実行して、作成したばかりの pelican ディレクトリをカレント ディレクトリにしたら、source bin/activate コマンドを実行します。

これで Python3 を使う環境に入りました。 ここでようやく Pelican をインストールします。 Pelican をインストールするために pip install pelican markdown コマンドを実行します。 ここでは Pelican と一緒に Markdown モジュールをインストールしています。 なお、Ubuntu で pip コマンドを使うには python-pip パッケージ (Python3 では python3-pip パッケージ) をインストールしておかないといけません。 しかし、virtualenve で作った環境にはパッケージの有無に関わりなく pip コマンドがインストールされます。 このため source bin/activate コマンドで virtualenve で作った環境に入っているときは、不通に pip コマンドを使えます。

Pelican と一緒に Markdown モジュールをインストールしましたが、これは Pelicanで Markdown 形式を扱えるようするのが目的です。 Pelican で Markdown 形式の使うときには特別な設定は不要です。 Markdown モジュールがインストールされてさえすれば、後は Markdown 形式で書いた文書を保存するときに拡張子を .md にしておくだけ十分です。

Pelican のインストールに関する Web サイトを色々と眺めると、Typogrify モジュールも一緒にインストールした方が良いような表記を見かけます。 しかしながら、GitHub にある Typogrify の README にも目を通してはみましたが、使い方がいまいちよく分からなかったため、インストールしませんでした。

とにかくこれで Pelican が使えるようになりました。

virtualnve の環境から抜ける

今回はここまでとして、deactivate コマンドを実行して、ひとまず Pelican を使えるようにした Python3 の環境から抜けておきます。

コマンドのまとめ

最後に本記事で実行したコマンドを以下にまとめておきます。

sudo apt-get -y install virtualenv
virtualenv -p python3 --prompt '(python3)' ~/pelican
cd ~/pelican
source bin/activate
pip install pelican markdown
deactivate

Comments