gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

PHPエンジニアがPythonに触れてみる:まずはインストール

さておいちゃんが果たして「PHPエンジニアなのか?」というのは、微妙に疑問もあるのですが(PHPばっかりではないし、さりとて最近はPHPが圧倒的に多いのも事実だし)。
いわゆる「初めての**」的な感じのPython版は、書籍なりWebなり色々あるかと思うので。
ちと切り口を変えて「PHPはある程度がっちょりやってるエンジニアがPythonをやってみる」って切り口での学習ルートを残しておこうかなぁ、と思ったのがきっかけでございます。


Pythonをやろうかなぁと思う理由は、建前を取り繕えば多々あれど、本音ぶっちゃけると「綺麗だし切り口が気に入っているから」(笑
まぁ、人間が何かに興味を持つ時なんて、そんな程度のものでございますw


で、先日、信頼おけるPythonエンジニアのむーちゃんに質問をしたのですが、ものっそざっくりと要約すると「これから学習するんなら3でもいいんぢゃね?」って話だったので。
Pythonの2系についてはバッサリと一端切り落としをして、3系を学習したいと思います。


プログラムを学習する以上当然ながら「実行環境」が必須のmustでないと死んじゃうので。
…ただ、手持ちのサーバが(ある意味都合よい事に)Pythonの2系が入ってたので、まずは「3系のinstall」をいたしませう、というあたりから。
鯖はLinuxなので、それ以外の環境は適宜自主的にどうにかしてくださいw


総本山っぽい
https://www.python.org/
に伺うと「Download」なる所があるので、そこの「Latest:」にあるリンク先を選択。
今なら
https://www.python.org/downloads/release/python-360/


tarballでのインストールが基本のおいちゃんなので、Gzipped source tarball( https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz )を把握。
Linux鯖なので

wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

で一撃のもとに取得。

tar zvxf Python-3.6.0.tgz
cd Python-3.6.0
./configure --prefix=/opt/lang/python-3.6.0
make -j 3
sudo make install


で、一端「バージョン番号のついたディレクトリ」にインストール。
対して深い意味もないんだけど細かい話をすると「複数バージョンを気軽にごにょごにょしたり出来る」ので、一応。
シンボリックリンクを使うんだけど、そのあたりは http://d.hatena.ne.jp/gallu/20120724/p1 を参照。

なんかいくつかのサイトを見ていると「Pythonコンパイルの前に入れておかないといけないライブラリ」がいくつかあるぽいんだけど、多分おいちゃんの現在環境だと「すでにtarballで入れてる」と思われるので、なんの引っかかりもなくインストール完了。
この辺は、後でコメントとかあったら直すかも。


で、この状態で

/opt/lang/python-3.6.0/bin/python3.6

叩くと動くので、最低限これでもよし。
ただまぁ「pathが通ってるところに入ってるほうが色々と好都合だなぁ」ってのはあるので、以下のコマンドを追加でぶっこみ。

sudo ln -s /opt/lang/python-3.6.0/bin/python3.6 /usr/bin/python3

これで、よっぽど奇異な設定かましてる鯖でなければ

python3

だけで動くようになったと思う。


いや「/usr/bin/pythonを上書き」とかでもよかったんだけど、installした時のbinのファイル名が「python3.6」だったので、なんとな〜く。
「万が一、2系との挙動差分を楽しみたい」なんて事が、なきにしもあらずんば、かもしれない風な可能性が予見されないでもないので。

恐らく九分九厘、近々のタイミングで「pip3」とか必要になるんだろうけど「必要なものは必要になってから」のほうがよいと思っているので、あえてここでは一端無視。


ここまでで、とりあえず「学習環境」が最低限整いました。
なんかこの時点での突っ込みどころなどありましたら、ご連絡くださいませ。