旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【python】 pythonのバージョンアップ 2.6系から2.7系へ

Google Cloud Platformってもう最近でもないんですが すごく便利なものが出てきましたね。 AWSのS3みたいなものなんでしょうか。 使ったことないのですがね・・・

さてGoogle Cloud Strageを使おうと色々と設定し、shellを書いたり 自動化したりを進めていたんですが、少し時間がかかってしまい 久々にいじってるのですが(別途この辺は書く予定です) バージョンを確認すると

[root@localhost deploy]# gsutil version
Warning: You are running Python 2.6, which stopped receiving security
patches as of October 2013. gsutil will stop supporting Python 2.6 on
September 1, 2016. Please update your Python installation to 2.7 to
ensure compatibility with future gsutil versions.gsutil version: 4.19

どうやらpythonのバージョンが古いようで、8月いっぱいでサポート止めるよとのことです。 そのため、2.6系から2.7系にアップデートが必要なのです。

はいはい、わかりましたそれではアップデートしましょうと 簡単にいくわけにはいかないなぁと。

なぜかと言うと今使っている環境はCentOSなんですが とてもお世話になっているyumコマンド このコマンドpython製なんです。

同じ2系だから互換性はあると思うのですが 本当に大丈夫なのか。

yumに関しては/usr/bin/yumをエディタで開いて 1行目のpythonバージョン指定とかすればいいような気がするんですが その他のpythonは大丈夫なんだろうか。 そういったところで危ないっていう人もいるのですが、調べるとそれだけで設定して問題がない人がいるようなのでその設定で一回様子を見ようと思います。

さて現在インストールされているpythonのバージョンは

# python --version
Python 2.6.6

ちょっと古いようですね。 現時点での2系最新バージョンは2.7.9です。 まずはソースを落としていきます。

# cd /usr/local/src
# curl -O https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz

次に解凍していきます。 余談ですが、解凍というはオジサンらしいです。展開が正しい言い方なのかな。

# tar zxf Python-2.7.9.tgz

さて展開したところでインストールしていきます。

# cd Python-2.7.9
# ./configure
# make && make altinstall

コンパイルが終わるとpythonファイルができています。 バージョンを確認してみましょう。

# /usr/local/src/Python-2.7.9/python --version
Python 2.7.9

バージョン上がってますね。 これをbinに入れていくのですが、既に/usr/bin/以下には既にpythonがいると思います。 注意はこれがシンボリックリンクになっていないかってところでしょうか。

一旦現行バージョンをバックアップして置き換えていきます。

# mv /usr/bin/python /usr/bin/python2.6.6

次に先ほどmakeしたpythonを置き換えていきます。

# cp /usr/local/src/Python-2.7.9/python /usr/bin/python

さてこれで完了と思いきや、冒頭に話したyumの部分ですね。

# vim /usr/bin/yum

#!/usr/bin/python
↓
#!/usr/bin/python2.6.6

これでOKです。 ここに関しては賛否両論あるので、python関係で何かおかしかったら思い出すようにしましょう笑 因みに上記のyumの書き換えをしないとyumが使えなくなるので気をつけましょう。