はじめに
PythonフレームワークDjangoを触り始めましたが、苦労したりごちゃごちゃやって押し通したところがあったので整理するために書きます。
間違っている点があったらご指摘お願いします。
今回は僕が行った環境構築を記します。
なお筆者の経験値は、以下の通りです。
- プログラミング: 1年未満
- Python: 半年くらい
- Django: 初めて
これまではPHPを主に触っており、フレームワークはLaravelを使用していました。
目次
Django事始め: 1_環境構築
Django事始め: 2_プロジェクト作成
Django事始め: 3_Apache連携
Django事始め: 4_MySQL連携
環境
Vagrantで以下の環境を構築しています。仮想環境構築も近いうちにまとめたいです。
- CentOS 7.1
- Apache 2.4.6
- pyenv 1.0.7
- anaconda 3-4.3.0
- django 1.10.5
- mariadb-5.5.52
Pyenvインストール
まず、PythonにはPython3とPython2があります。
一部互換性がありません。
そのため、プロジェクト毎にPythonのバージョンを切り替える必要が出てきます。
いちいちインストールし直していたら面倒で仕方がありません。
そこでバージョン管理ツールのPyenvを使います。
ディレクトリ毎に使用するPythonのバージョンを指定できます。便利ですね。
実際に初めてPythonを使おうと思った時、システムのデフォルトのPython2とインストールしたPython3の切り替えに苦労した僕が言うので間違いありません。
ざっといきます。
cd /usr/local/bin
git clone git://github.com/yyuu/pyenv.git ./pyenv
echo 'export PYENV_ROOT="/usr/local/bin/pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv --version
pyenv 1.0.7-12-g235eea3
gitでソースダウンロードして、パスを通してあげます。
最後にバージョンを確認できればちゃんと使えます。
anacondaインストール
pyenvではいろんなPythonのバージョンだけでなく、ライブラリもセットになったPython環境も取得できます。
anacondaは代表的なPythonのライブラリが入っているらしいです。
後ほど機械学習とかで使いたいのでこちらを入れました。今の所、真価は不明です。
まずはpyenvでインストールできるanacondaのバージョンを確認します。
pyenv install --list | grep anaconda
ざっとたくさん出てくるので好みのバージョンをコピってインストールします。
pyenv install anaconda3-4.3.0
pyenv rehash
pyenv global anaconda3-4.3.0
pyenv global
で全てのディレクトリでpython
コマンドを打ったらこのpythonを使うよと宣言します。
anacondaが設定されてるか確認します。
pyenv version
anaconda3-4.3.0 (set by /usr/local/bin/pyenv/version)
ちなみにこちらでも確認できます。
python -V
Python 3.5.2 :: Anaconda custom (x86_64)
Djangoインストール
ではdjangoが使えるようにインストールします。
Pythonのパッケージ管理にはpipが使われますが、anacondaを利用しているとcondaコマンドで同じくパッケージ管理できます。
pipでもインストールできますが、せっかくなのでcondaを使います。
まぁcondaでインストールできないパッケージは結局pipでインストールするので使い分ける意味があるのか不明ですが。
conda install -c https://conda.anaconda.org/anaconda django
djangoがインストールされているか確認します。
python -m django --version
1.10.5
これでDjangoを使えるようになりました。
次回はDjangoのプロジェクトを立ち上げます。
参考URL
CentOS7 pyenvを利用したpython環境構築
データサイエンティストを目指す人のpython環境構築 2016