Ubuntu 14.04 LTS にソースコードからPythonをインストールする
前回と同様にvagrantでUbuntu 14.04 LTS (ubuntu/trusty64) の仮想マシンを立ち上げてまっさらな状態からPythonをソースコードからインストールします。
1
|
|
1 2 3 4 5 |
|
apt-get updateだけしてビルド
特にパッケージを追加インストールしないでそのままビルドすると、こんな感じのモジュールがビルドされない。
1 2 3 4 |
|
pyenvのwikiを参考にしてビルド
pyenv
の
https://github.com/yyuu/pyenv/wiki/Common-build-problems
で紹介されてる依存パッケージをインストールしてビルドしてみるとこんな感じ。
1
|
|
1 2 |
|
パーフェクトPythonを参考にしてビルド
パーフェクトPythonで紹介されていたパッケージをインストールしてビルドしてみるとこんな感じ。
1
|
|
1
|
|
上記+α
さらにliblzma-dev
libncurses5-dev
を追加してビルドしてみるとひとまず全てのモジュールはビルドされている様子。
1
|
|
Python Developer’s Guideを参考に
Python Developer’s Guide https://docs.python.org/devguide/setup.html#compiling-for-debugging で紹介されているビルド方法はこんな感じ。
1
|
|
上記コマンドを実行すると一通りすべてのモジュールがビルドされた状態から追加でインストールされるパッケージは以下のようになってた。この中に気になるのがあればこちらのほうがやはりいいのかも。
1 2 3 4 5 6 7 |
|
ただpython3.4っていうパッケージがない場合は、バージョン下げたりしてパッケージ探してね、とあるのでスクリプト化を考えると若干使いづらいかも。
If that package is not available for your system, try reducing the minor version until you find a package that is available.
まとめ
依存パッケージをインストール
おそらく最小限なパッケージをインストールするか
1
|
|
build-dep
を利用して依存パッケージをインストールする
1
|
|
ソースコードをダウンロードしてビルド
1 2 3 4 5 6 |
|
Pyenvでpipがインストールされた仮想環境を作りたかった
普段使いのMacではとりあえずでpyenv
を導入していて、
Pythonの仮想環境の構築の仕方についてあやふやだったので
確認がてら新しく環境を作ってみた。
vagrantでUbuntu 14.04 LTS
の仮想マシンを作成して実施。
Pythonバージョン別の仮想環境の構築方法とpipのインストール有無は以下の感じ。
3.3からvenv
が導入されたのと3.4からensurepip
が導入されて
pip
がインストールされるようになってるはず。
Python | tool | pip |
---|---|---|
2.7 | virtualenv | 入ってる |
3.3 | pyvenv | 入ってない |
3.4 | pyvenv | 入ってる |
Ubuntu 14.04 LTS に付属しているPython3.4.0を使ってみる
3.4からは標準で仮想環境も作れるしpip
も最初からインストールされてるしで便利なんだろうなーっと…
1 2 |
|
うーん? ensurepip
のscript実行でエラーの模様。
1 2 |
|
そんなモジュールないよとのこと。どうやらpython3パッケージ3.4.0-0ubuntu2
にはensurepip
が入ってないようで。
1
|
|
pip
なしなら仮想環境作れるけどせっかくならpip
は最初から入って欲しい。
ソースコードからビルドしてみる
公式パッケージリポジトリには2系と3系の二つしか入手できないので ソースコードからビルドしてみる。せっかくなので現時点の最新で。
1 2 3 4 5 6 7 |
|
システムとは別の場所にインストールしておいて、仮想環境作成すると
1
|
|
うまくいったような感じがするけど
1 2 3 4 |
|
pip
なんてないって言われちゃってますよと。
足りてないパッケージをインストールする
makeのログを見てみると最後のほうでなんか言われてますね
1 2 3 4 5 6 7 8 9 |
|
それっぽいパッケージをインストールして
1
|
|
再度makeして再インストール
1 2 3 4 5 |
|
ログにはpip
がインストールされた旨のメッセージが表示された。
1 2 3 4 |
|
実際に仮想環境作ってみるとpip
とsetuptools
がインストールされていた
1 2 3 4 5 6 |
|
とりあえず目的は達成したのでよしとする。 依存パッケージのインストールってこれで合ってるのか不安。
MongoDBいれてみた
Install
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
- MongoDB 2.6.4
- Ubuntu 14.04
1 2 3 4 |
|
リモートからの接続を許可
/etc/mongodb.conf
のbind_ipをuncomment
1
|
|
restart
1
|
|
もう一度やってみた結果
特になにも困ることなく普通にできました…
http://octopress.org/docs/setup/
詰まってたときに気になった点としては何かgemが足りてないのかなと
改めてbundle install
した際にいくつかのgemがインストールされてたので
octopressのhtmlを生成するための実行ファイルが中途半端に生成でもされたとしたら
納得できる結果かなあとは思うものの、とりあえずできたのでいいやっと。
- topページに記事が表示されない
bundle install
したらいくつかgemがインストールされた- 再度
rake generate
して見ても同様に記事が表示されない ~/octopress2
に改めてセットアップ- 適当に記事書いて
rake generate
したらtopに表示された
まあrubyやりたくなったときに勉強しよう…
Test
generating test is now.
title
- a
- b
- c
hoge foo bar