「Pythonエンジニア養成読本[いまどきの開発ノウハウ満載!] (Software Design plus) 」を読みながら、2015年5月版 Pythonの開発環境をUbuntuに構築をしてみています。
Pythonを使ってちょっとした開発をすることも増えてきているので、2015年5月時点での環境について整理をしています。簡単にいうと、パッケージインストールにはpipを使うのが良いそうです。アプリで利用するパッケージの管理をするには、virtualenvを使って環境を用意するのが良さそうです。virtualenvで用意した環境をより使いやすくするためのコマンドツールがvirtualenvwrapperとして提供されているので、それを使うとなお良いようです。
開発環境は、PyCharmというのがあるそうです。Eclipse + PyDev は最近は流行っていないのですかね。Ninja IDE とか、Spyder も良さそうなのですけどね。IDLEも有名なのですが、本格的な開発となると使っている人はいないのでしょうか…
Raspberry PiではPythonがよく使われるので、Raspberry Pi用のWebアプリを作成したいときには、PythonのWebフレームワークを使ってみたいと思うはずです。ある書籍にはFlaskが紹介されていましたが、「Pythonエンジニア養成読本」ではBottleについての解説が載っていました。Django、Pyramid、Tornadoといったものも有名だそうです。もちろん基本はWSGI(Web Server Gateway Interface)になります。これらについては他の書籍で理解しておいたほうが良いのでしょう。
環境自動構築については、Ansibleが紹介されています。Chefは書籍が多いのですが、Ansibleは書籍はみかけません。人気はないのか、簡単だからなのかわかりませんが、ちょうど使ってみたいと思っていたので助かります。今後は環境自動構築についてもプログラミング言語の解説本に説明がされる時代がくるのでしょうね。
自分はUbuntuをよく使っているので、自分向けに環境構築を試してみました。自分向けの記録を公開しておきます。Ansibleを使った環境構築は別途検討してみる予定です。書籍の内容とは微妙に違っています。
Python, Python3のインストール
Python2、Python3の両方をインストールしておきます。
$ sudo apt-get -y install python python3
pip, virtualenvのインストール
Python環境はvirtualenvを組み合わせればいいので、Ubuntuのパッケージからpipとvirtualenvをインストール。
$ sudo apt-get -y install python-pip python3-pip $ sudo apt-get -y install python-virtualenv virtualenvwrapper
ちなみに、Ubuntuのパッケージを使わない場合は、pipコマンドでインストールします。
$ sudo pip install virtualenv $ sudo pip install virtualenvwrapper
virtualenvの使い方
例えば、app001用環境(app001_env)の用意をするには下記。
$ mkdir -p ~/workspace/python/ $ cd ~/workspace/python/ $ virtualenv app001_env
app001_env環境を有効化するには下記。
$ source app001_env/bin/activate
プロンプト変更には、–promptを指定して環境を作成。
$ virtualenv –prompt app002 app002_env
$ source app002_env/bin/activate app002$
virtual環境からぬけるにはdeactivateコマンドを実行。
app002$ deactivate
システムサイトパッケージを利用する環境を用意する場合は、–system-site-packageを指定。
$ virtualenv --system-site-package app003_env
virtualenv環境下でpipコマンドでPythonパッケージをインストールすると、その環境下にパッケージがインストールされるそうです。ちょっと試してみたいライブラリがあったりするときに便利そうですね。
virtualenvwrapperの利用
virtualenvwrapperを使うには ~/.bashrcへ下記を追加します。一度ログアウトしてから、ログインしなおしましょう。
export PROJECT_HOME=${HOME}/workspace/python/ve/projects export WORKON_HOME=${HOME}/workspace/python/ve/workon source /usr/share/virtualenvwrapper/virtualenvwrapper.sh # whichでパスがわかるなら下記でも良い # source `which virtualenvwrapper.sh`
指定したディレクトリは作成しておく必要があります。
$ mkdir -p ~/workspace/python/ve/projects $ mkdir -p ~/workspace/python/ve/workon
virtualenv環境を作成するには下記。これで、${WORKON_HOME}/app005_envができます。
$ mkvirtualenv app005_env
有効化にはworkonコマンド
$ workon app005_env
無効化にはdeactivateコマンド
app005_env$ deactivate
環境の移動には下記
app005_env$ cdvirtualenv app006_env
PyCharmインストール
パッケージはわからなかったので、ソースコードをダウンロードして使えるようにしました。
$ wget https://download.jetbrains.com/python/pycharm-community-4.0.6.tar.gz $ if [ ! -e $HOME/app/ ]; then; mkdir $HOME/app; fi $ tar xf ~/Download/pycharm-community-4.0.6.tar.gz -C $HOME/app/
起動は下記。
$ sh ~/app/pycharm-community-4.0.6/bin/pycharm.sh