Macのローカルにpython3.4の開発環境を作成

統計つかったWebサイトつくろうと思って、RかPythonを使うかで迷ってた。

候補は以下の3つ。
Webサイト:PHP、統計:R
Webサイト:PHP、統計:Python
Webサイト:Python、統計:Python

PHPも満足に使いこなせてないけど、思い切ってPythonで全部やってみようと思った。
なんかワクワクしたし、自分の幅も広がるかなと思ったし。

なので、大嫌いな開発環境を作成に乗り出した。

MacのローカルにPythonとDjangoの開発環境を整えるまでの忘備録。
MySQLとの連携は次回!

・Macのバージョンは10.9.5
・pythonのバージョンは3.4.2
・Djangoのバージョンは1.7.1

1.python3.4をインストール

pythonの3版をインストールする。
こちらのサイトを参考にさせていただきました。

brew install python3

バージョンを確認してみる。

brew info python3

python3: stable 3.4.2 (bottled), HEADと出た。
pythonコマンドでも確認してみる。

python -V

Python 2.7.5と出た。MacのデフォルトでインストールされているPythonの方を見に行ってしまっている。
この2.7.5は、Macのシステム用なのかな?

python-3.4としたら3.4.2の方をみてくれるらしいがメンドクサイ。
自分用のpython環境を作成し、そこにPATHを通すことで、デフォルトのpythonを変更する。

python3.4を置くためのフォルダを作成。

mkdir ~/work

cd work

pyvenvコマンドでpy3というvenv仮想環境を作成する。
siteディレクトリと呼ばれる仮想環境ができるので、以後、この仮想環境にpythonパッケージをインストールしていくことになる。

pyvenv-3.4 py3

python3.4へパスを通す。
参考にした記事ではbashrcに書いてたけど、ホーム直下の.bash_profileに書いてしまう。

echo ‘PATH=$HOME/work/py3/bin:$PATH’ >> ~/.bash_profile

反映する。

source ~/.bash_profile

確認する。

python -V

Python 3.4.2と表示されたら、ちゃんと新しい方のpythonを見に行ってくれてる。
これからはpythonコマンドを打つのに一々3.4とつけなくてもよくなる。

2.バージョンマネージャpipをインストール

次はpythonのパッケージ管理をするpip使えるようにする。
yumやapt-get、Rubyのgemと同じもんらしい。

3.4からensurepipというモジュールで簡単にpipをインストールできるようになった。
それ以前は色々めんどくさかったらしい。

python -m ensurepip

以下が表示された。
イマイチ、インストールが成功したのかがわからない文言。

Ignoring indexes: https://pypi.python.org/simple/
Requirement already satisfied (use –upgrade to upgrade): setuptools in ./lib/python3.4/site-packages
Requirement already satisfied (use –upgrade to upgrade): pip in ./lib/python3.4/site-packages
Cleaning up…

確認してみる。

pip –version

pip 1.5.6 from /Users/runble1/work/py3/lib/python3.4/site-packages (python 3.4)と表示された。入ったっぽい

一応最新版にしておく。

python -m ensurepip –upgrade

以下が表示された。
setuptoolsもpipも最新版だったのかな。

Ignoring indexes: https://pypi.python.org/simple/
Requirement already up-to-date: setuptools in ./lib/python3.4/site-packages
Requirement already up-to-date: pip in ./lib/python3.4/site-packages
Cleaning up…

pipは以上。
3.4より以前はもっとめんどくさかったとのこと。

3.virtualenvwrapperをインストール

正直この辺まだ理解してないので違ったこと書いてたらごめんなさい。
pythonの開発は、自分用の仮想環境を作成し、そこで作業するのがスタンダートとのこと

virtualenvwrapperは、仮想環境の管理・切り替えを便利にしてくれるもの。
詳しいことはここここを見てくれ!

Python3.3以降はvenvが標準ライブラリにあるため、virtualenvをインストールしなくてもいい。
pipからインストールする。

pip install virtualenvwrapper

インストールしただけでは使えないので、ログインシェル(.bash_profile)にPATHを追記する。
virtualenvwrapper.shのPATHを確認。

which virtualenvwrapper.sh

自分の環境では「/Users/runble1/work/py3/bin/virtualenvwrapper.sh」。
メモっておく。

ログインシェルを編集。

vim ~/.bash_profile

以下を追記。
PATHのところは適宜変更。
WORKON_HOMEの部分も好きなフォルダに。

### Virtualenvwrapper
 if [ -f /Users/runble1/work/py3/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /Users/runble1/work/py3/bin/virtualenvwrapper.sh
 fi

試しにバーチャル環境をつくってみる。
mkvirtualenvコマンドで作成できる。

mkvirtualenv test20141025

以下のようになった。
これはグローバル環境からtest20141025環境になったことを示すらしい。

(test20141025)runble1Pro:py3 runble1$

.virtualenvsに仮想環境ができてるか確認してみる。

ls ~/.virtualenvs/

test20141025があった。
それ以外にもよくわからんファイルがいっぱいあるけど。。。

仮想環境から抜けるにはdeactivateコマンドを使う。

deactivate

仮想環境へ入るときはworkonコマンドを使う。
切り替えもこのコマンドで。

workon test20141025

仮想環境の削除。

rmvirtualenv test20141025

venv仮想環境とはまた違ったものなのかな。
理解したら追記する箇所。

4.Django1.7をインストール

Pythonのフレームワークを使ってWebサイトを作りたい。
色々なフレームワークがあるが、Djangoを使ってみることにする。

ちなみにこの部分はこのサイトをそのまんまやってるだけです。

まずは、仮想環境serviceを作成する。
このserviceにDjangoをインストールするというイメージ。

mkvirtualenv service

以下、serviceがアクティブの状態での作業になる。

Djangoはpipからインストール。
現在のバージョンは1.7.1らしい。

pip install django==1.7.1

確認してみよう。

pip freeze -l

Django==1.7.1と表示された。

続いて、Djangoのプロジェクト作成する。
djangoというフォルダ以下にプロジェクトを配置する。

mkdir ~/work/django

cd ~/work/django

mysiteとというプロジェクトを作成する。
(またよくわからんコマンドでてきたな・・・)

django-admin.py startproject mysite

上記でdjangoフォルダ内にmysiteというフォルダができたはず。
フォルダ内に移動し、データベースをマイグレートする。

cd mysite

python manage.py migrate

ローカルサーバを起動。
Apacheとかじゃないんだなー・・・

python manage.py runserver

http://127.0.0.1:8000/へアクセスしてIt Works!と出ればOK。

・・・PHPしか使ったことない自分には文化が違いすぎて難しい!!

参考

Mac で Python の開発環境構築(2013.11)

Python3.4からpipが標準インストーラに!?

Virtualenvwrapperの導入

Python Django入門 (2) Mac編

コメント

タイトルとURLをコピーしました