Python Django入門 (2) Mac編


MacでのPython、Djangoの開発環境構築について説明します。

## Xcode、Command Line Tools

macOS で開発する上では、iPhoneアプリの開発予定がなくても
Xcode および Command Line Tools を入れておいた方がいいでしょう。

Xcode は App Storeのアイコンから。  
Command Line Tools は

```bash
$ xcode-select --install
```

にてインストールします。

## Python3のインストール

Python2はMac OS Xに入っていますが、これから新規に学習するのであれば、Python3を学習した方がいいでしょう。

### HomeBrewのインストール

[HomeBrew](http://brew.sh/) はMacのパッケージ管理ツールです。

既に導入済みの人は読み飛ばして下さい。
MacPorts派の方は、以降のPython3導入を自力でお願いします。

インストールは公式サイトのとおり、ターミナルを開いて、以下のコマンドを実行します。

```bash
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

### Python3のインストール

HomeBrewを最新にアップデートし、
python3 の情報を見る

```bash
$ brew update
$ brew info python3
python: stable 3.7.6 (bottled), HEAD
```

その時の最新の Python 3 をインストールして下さい。

```bash
$ brew install python3
```

> 最近の brew は brew install python でも Python 2 ではなく 3 が入るようになっています。
>
> また現時点の Python 最新版は 3.8.1 ですが、標準ではまだ入らないようです。
> brew install python@3.8 で無理やり入れることはできそうですが、
> brew info python@3.8 で調べてみると、
>> python@3.8 is keg-only, which means it was not symlinked into /usr/local,
>> because this is an alternate version of another formula.
>
> と不穏なメッセージが出るので試していません。
> とりあえず 3.7.6 で説明を続けます。

---

> 業務で Python を扱う場合は、[anyenv](https://github.com/anyenv/anyenv) を入れて、pyenv を入れて、Python のバージョン管理を行いますが、入門向けではないので、brew で説明しています。
> 興味のある方は、後ほど調べて見て下さい。

Python 2 と 3 は両立できます。バージョンを見てみます。

```bash
$ python -V
Python 2.7.16

$ python3 -V
Python 3.7.6
```

## virtualenv、virtualenvwrapperのインストール

[virtualenv](https://pypi.python.org/pypi/virtualenv) は Python の仮想環境を作るツールです。
プロジェクトごとに、

* Pythonのバージョン
* 使用する Pythonパッケージ、およびそのバージョン

を固定した仮想環境を構築します。

[virtualenvwrapper](https://pypi.python.org/pypi/virtualenvwrapper) は、virtualenvによる仮想環境の作成、削除をもう少し楽にするラッパーです。

Python3 の標準で [venv](http://docs.python.jp/3/library/venv.html) という仮想環境を作るコマンドもありますが、こちらの方を使います。

### python2側で pipを入れる

    $ sudo easy_install pip

### Python2側で virtualenv、virtualenvwrapper を入れる

    $ sudo pip install virtualenv virtualenvwrapper --ignore-installed six

> Python2、Python3に両対応した virtualenv virtualenvwrapperが入ります。

### virtualenv virtualenvwrapperのセットアップ手順

１．仮想環境のディレクトリを作ります

    $ cd ~
    $ mkdir ~/.virtualenvs

２． テキストエディタなどで、.bashrc ファイルを作成します。

```bash:.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
```

* 自分のホーム ディレクトリで、そのまま作業します。
* viが使える人は、viでやりましょう。
* 普通のテキストエディタでも、なんとか「.bashrc」の新規保存はできます。

３． テキストエディタなどで、.bash_profile の最後の行に、以下の行を追記します。

```bash:.bash_profile
    :
    :
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
```

* 普通のテキストエディタでは、ドットで始まる隠しファイルの「.bash_profile」を開くことは至難の業のようです。（出てこない）
* viができる人に手伝ってもらって下さい。またはviを覚えましょう。

４． ターミナルが開きっぱなしであれば、編集した .bash_profile を取り込みます。

```bash
$ source .bash_profile
```

## 仮想環境の構築

env1 という名前の仮想環境を作る

```bash
$ mkvirtualenv --no-site-package --python /usr/local/bin/python3 env1
```

--no-site-packageは、ベースとなるpythonのsite-packageを受け継がないようにする指定です
-p か --python オプションで使用するインタプリタを指定することができるので、python3 を指定します。

## 仮想環境に移動する

mkvirtualenv で仮想環境を作った直後は、コマンドプロンプトが以下のようになっています。

```bash
(env1) $
```

(env1) と出ていれば仮想環境にいます。
ターミナルを終了して、開き直した場合などは、以下のコマンドで仮想環境 env1 に移動できます。

```bash
$ workon env1
```

### その他、仮想環境を扱うコマンド

env1 はこの後に使うので、以下のコマンドは叩かないで、知識として覚えておいて下さい。

現在の仮想環境の一覧を見る

    $ workon
    env1

env1に切り替える

    $ workon env1

仮想環境を無効にする(グローバル環境に戻る)

    $ deactivate

不要な仮想環境を削除する(deactivateしてからです。pipで仮想環境に入れたパッケージごと削除されます。)

    $ deactivate
    $ rmvirtualenv env1

## Djangoをインストールする

DjangoもPythonモジュールの一つです。
仮想環境 env1 の中にインストールします。

今回は、この講座のためにDjangoのバージョンを明記してインストールします。

```bash
$ workon env1
$ pip install django==3.0.2
```

### バージョンを確認する

仮想環境にインストールされたパッケージを確認します。

```bash
$ pip freeze -l
asgiref==3.2.3
Django==3.0.2
pytz==2019.3
sqlparse==0.3.0
```

## IDE 統合開発環境のインストール

Djangoのコードを書くにあたって、どのようなテキストエディタを使ってもかまいませんが、IDEとして[PyCharm Professional](https://www.jetbrains.com/pycharm/)を導入することをお薦めします。

### PyCharmの特徴

* Pythonエンジニアは、ほぼこれを使っていると言っても過言ではありません。
* ２種類ありまして、
	- Professional版
		+ Djangoのプロジェクトを開くことができ、こちらの方を使います。
		+ 有償ですが 30日の試用ができます。この講座も 30日あれば終わるのではないでしょうか。
		+ 気に入った場合は、購入しましょう。
		+ 学生の方は無償ライセンスがありますので、「Pycharm 学生」などで検索してみて下さい。
	- Community版
		+ 無償ですが、Djangoプロジェクトを開くことはできません。
		+ どうしても無償の方がよくて、単にPythonのエディタとして使いたいだけであれば、こちらでもよいかもしれません。
* UIは英語です。日本語化することは考えません。特に問題ないと思いましょう。
* 黒背景に白文字のテーマが目に優しくて、かっこいいです。いかにも俺コード書いてるという気分になります。UIサンプルは[こちら](https://www.jetbrains.com/pycharm/)をご覧ください。

> 最近は [Visual Studio Code](https://azure.microsoft.com/ja-jp/products/visual-studio-code/) を Python の IDE として使う、という選択肢も出てきました。
> ここでは説明しませんが、無償で日本語のものがいい場合は、そちらを選んでもいいでしょう。
> ・Python のコード補完
> ・Python 仮想環境の Python インタープリターがどこかを指定できれば、デバッグ実行
> なども PyCharm と変わらずに行うことができます。

### PyCharm Professional のインストール

1. [Download PyCharm](https://www.jetbrains.com/pycharm/download/)のページから、Professionalの方をダウンロードします。
2. ダウンロードした .dmgファイルを開きます。
3. 絵のとおりに PyCharm.app をアプリケーションフォルダにドラッグします。

![PyCharm.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/27b0569b-923f-7417-1789-7b32f6c351c1.jpeg "PyCharm.jpg")

4.インストールできたら、アプリケーション ＞ PyCharm.app を起動してみましょう。

5.この画面は、初めてPyCharmを使う人は、以前のsettingsはないので、そのままでOKです。

![Complete_Installation.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/8f71c95b-4319-9196-87ef-e483b80d54b9.jpeg "Complete_Installation.jpg")

6.Evaluate for free for 30 days（30日試用）の方を選んで、OKを押します。

![PyCharm_License_Activation.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/9e7821ff-8c05-6763-de06-673053a39501.jpeg "PyCharm_License_Activation.jpg")

7.よく読んで、Acceptを押します。

![License_Agreement_for_PyCharm_5_0_4.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/d5f7d442-ba2f-9674-4361-f56d6bec6340.jpeg "License_Agreement_for_PyCharm_5_0_4.jpg")

8.テーマだけ変更します。IDE theme: Darcula が黒背景／白文字の方で、俺コード書いてる気分になれる方です。

![PyCharm_Initial_Configuration.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/3a185c63-9251-f6d2-3e3a-b036f096af8a.jpeg "PyCharm_Initial_Configuration.jpg")

9.起動途中ですが、テーマの設定を変えた場合は、再起動みたいですね。Yesを押します。

![This_should_not_be_shown.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/528e543c-e279-3ffd-e384-59abb1491b4e.jpeg "This_should_not_be_shown.jpg")

10.ようこそPyCharmへ

![Welcome_to_PyCharm.jpg](https://qiita-image-store.s3.amazonaws.com/0/48136/cdf01530-5807-8be7-649f-b9aadfd6402a.jpeg "Welcome_to_PyCharm.jpg")

ここまで来たら、次に進みましょう。

[Python Django入門 (3)](http://qiita.com/kaki_k/items/7b178ad39394a031b50d) に続く