Edited at

MacでPython環境を作る(2017/4)

More than 1 year has passed since last update.

MacでPythonを利用するメモを書いてきたのですが、

ちょっと古くなってきたので更新します。

Macには最初から2.xのPythonが入っていますが、時代は3.xなので、3.xをセットアップします。

なお、私のPython利用目的のメインはDjango利用なので、Djangoを利用するところまで書きます。


pyenvの削除

まずは、Pyenvがインストールされているものとし、その削除からです。

Pyenvをインストールしていない人はPython3のインストールから初めて下さい。


アンインストール

brewを使ってインストールしたので、brewを使ってアンインストールします。

pyenv,pyenv-virtualenvを削除するとともに、各環境下のファイルが保存される~/.pyenvを削除します。

brew uninstall --force pyenv

brew uninstall --force pyenv-virtualenv
rm -rf .pyenv/


pyenv-pip-rehashをインストールしている場合はそれも削除します。brew uninstall pyenv-pip-rehash



.bash_profileの関連記述の削除

続いて、pyenvが有効に動作するために.bash_profileに加えた記述を削除します。


それぞれの環境に合わせて対応してください。


-export PYENV_ROOT="${HOME}/.pyenv"

-export PATH=${PYENV_ROOT}/bin:$PATH
-eval "$(pyenv init -)"

削除が完了したら.bash_profileを読み込み直し、バージョンを確認します。

デフォルトのPythonのバージョンとなっているようです。

source .bash_profile

python -V
Python 2.7.13


Python3のインストール

では、Python3.x系をインストールします。インストールはbrewにより行います。


brew(homebrew)が入っていない場合はGoogle先生に聞いてインストールして下さい。


brew install python3


仮想環境の作成

Python3.3?から仮想環境を管理するpyvenv(venv)が搭載されています。

今回はそれを利用して仮想環境を作成します。


仮装環境を作成する

下記のコマンドを実行することで、myenvという独自の環境を管理するディレクトリおよびファイル群が生成されます。

pyvenv myenv

なお、私の環境では、上記コマンドを実行した際、

WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`

というワーニングが表示されました。どうやら、pyvenvコマンドは今後非推奨なので、

python3 -m venv myenv

を使え!とのことです。実行してみます。

python3 -m venv myenv

myenvディレクトが作成されました。


仮装環境を実行する

作成された仮装環境フォルダを指定して、仮装環境を起動します。

. myenv/bin/activate

(myenv) :~ hoge$


. を付けて起動しないとPermissionエラーとなります。


そうすると、プロンプトが(仮装環境名)となり、仮装環境下に入ったことがわかります。

この状態でpython -Vを実行すると3.xになっていることがわかります。

この状態でpipを実行すると、仮想環境のみにパッケージが反映されます。


仮装環境を抜ける

仮想環境を抜けるには、

deactivate

とします。プロンプトが通常の状態に戻ります。


仮装環境下にDjangoをインストール

では、仮装環境に入っている状態でDjangoをインストールします。

. myenv/bin/activate

pip install djange

Djangoがインストールされました。


Ddjangoプロジェクトを作成

では、インストールされたDjango(コマンド)利用して、プロジェクト(ディレクトリ)を作成します。

下記のコマンドを実行します。

django-admin.py startproject django_test

この例ではdjango_testというプロジェクト(フォルダ)が作成されます。


Djangoの起動

では、作成されたプロジェクトを初期化し、プロジェクトを実行してみます。

cd django_test

./manage.py #動作するか確認
./manage.py migrate #マイグレーションします。標準ではDBとしてsqliteが利用されます。
./manage.py runserver #開発サーバ起動

起動したら、ブラウザからアクセスしてみます。

http://localhost:8000/

動いているようです。