Mac + Windows + VisualStudio CodeでPythonの開発環境を整える（Mac版）

知り合いと、PythonでWebアプリを開発することになったので、備忘録的にメモ。

同様な記事でWindows版の記事があります。([Windows版記事](http://qiita.com/gelehrte/items/7a02b3df666217895c68 "windows版記事"))

メンバーの所有PCがMacやWindowsの複数環境のため全員が無料で利用できるように、下記環境で作成する。
とりあえず、VSCODEでインテリセンス・デバッグ実行までは作成する。

#開発環境（確認済）
```
・IDE
　　VSCode バージョン1.8.1
・言語
　　Python3
　　Django 1.10.4
・OS
　　Mac　OS　Sierra
```
※OSは確認取れ次第増えます

#環境作成
こちらの記事を参照にして作業をしています（多謝）
[Python Django入門 (1)](http://qiita.com/kaki_k/items/511611cadac1d0c69c54 "Python Django入門 (1)")
 ・[Python Django入門 (2) Mac編](http://qiita.com/kaki_k/items/e824cfcf089e75d43551 "Python Django入門 (2) Mac編")

[Python Path and Version](https://github.com/DonJayamanne/pythonVSCode/wiki/Python-Path-and-Version "Python Path and Version")
[pythonVSCode some virtualenv issues #148](https://github.com/DonJayamanne/pythonVSCode/issues/148 "pythonVSCode")
[Troubleshooting Intellisense Autocompletion](https://github.com/DonJayamanne/pythonVSCode/wiki/Troubleshooting-Intellisense-Autocompletion "Troubleshooting Intellisense Autocompletion")
##Mac版
###１．XCODEのインストール
####　ア．App StoreよりXcodeのインストール
####　イ．Command Line Toolsのインストール

```
　　$ xcode-select --install
```
上記コマンドでインストールします。
###２．Python3のインストール
Pythonの2系はデフォルトでインストールされているが、3で開発予定だったので３のインストール
####　ア．HomeBrewのインストール
```
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
上記コマンドでインストール

####イ．Python3のインストール
```
$ brew update
$ brew info python3
python3: stable 3.6.0 (bottled), HEAD
$ brew install python3
```
下記のコマンドでバージョンが確認できる

```
$ python3 -V 
Python 3.6.0
```
###３．virtualenv、virtualenvwrapperのインストール
virtualenvは開発環境ごとにPythonの仮想環境を作成するツールなのでインストールします。

####　ア．仮想環境用のディレクトリを作成します

```
$ cd
$ mkdir Develop
$ cd Develop
$ mkdir Sandbox
$ cd Sandbox
$ mkdir Python
```
作成するディレクトリの位置は個人の好みで良いと思います。

####　イ．pipとvirtualenv、virtualenvwrapperをインストール

```
$ cd
$ sudo easy_install pip
$ sudo pip install virtualenv virtualenvwrapper --ignore-installed six
```

####　ウ．.bashrcファイルの修正（無い方は新規作成）

```bash:.bashrc
export WORKON_HOME=$HOME/Develop/Sandbox/Python
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
source /usr/local/bin/virtualenvwrapper.sh
```
WORKON_HOMEは仮想環境が作られるデフォルトのフォルダの指定になります。
VIRTUALENVWRAPPER_PYTHONはVirtualenvwrapperをインストールしたPythonへのパスになります。

####　エ．.bash_profileに.bashrcを読み込む設定を追加

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

####　オ．.bash_profileを読み込み

```
$ source .bash_profile
```

###４．仮想環境の構築

```
$ mkvirtualenv --no-site-package --python /usr/local/bin/python3 env1
```
---pythonでインストール済みのpython3を選択
--no-site-packageでペーストなるpythonのsite-packageを利用しないように設定
上記コマンド後、に仮想環境利用中になるためコマンドラインが、(env1) $　みたいな表示になる

###５．djangoのインストール
```
(env1) ＄pip install django==1.10.4
(env1) ＄pip freeze -l
Django==1.10.4
```
###６．開発用のサイトを作成
```
(env1) ＄ cd
(env1) ＄ cd Develop
(env1) ＄ mkdir PythonSites
(env1) ＄ cd PythonSites
(env1) $ django-admin.py startproject myTestSite
```
開発フォルダは自分の好みにしてください。
上記では、（ユーザーディレクトリ）/Develop/PythonSites/myTestSite ができあがります。

###７．Visual Studio Codeのインストール
####　ア．パッケージをダウンロードしてインストール
[Visual Studio Code](https://code.visualstudio.com/ "Visual Studio Code")からダウンロードしてインストール

####　イ．拡張機能をインストール
表示＞拡張機能から　Pythonと入力して、Pythonをインストール（Don Jayamanneさんのやつです）
<img width="592" alt="スクリーンショット 2017-01-09 13.35.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/156596/5c534b27-dd5c-54dc-5ea4-cd50537099f9.png">

####　ウ．コマンドラインから起動できるように変更
表示＞コマンドパレット　に shellと入力して　codeで起動できるように設定
<img width="1158" alt="スクリーンショット 2017-01-09 13.40.27.png" src="https://qiita-image-store.s3.amazonaws.com/0/156596/bcda69c4-4215-d2ba-ec57-4af802e3e689.png">
※アンインストールでは無くて、インストールですよ

###８．Visual Studio Codeの起動、設定
#### ア．VsCodeの起動
```
 ＄ cd
 ＄ cd Develop/PythonSites/myTestSite
 ＄ workon env1
(env1) ＄ code .
```
上記ログイン方法を行わないと、デフォルトの仮想環境の設定その他が狂うので注意
※コマンドファイルにしてしまっても良いかもしれません。

#### イ．workspace定義の追加
```vscode:setting.js
// 既定の設定とユーザー設定を上書きするには、このファイル内に設定を挿入します
{
    "python.pythonPath": "${env.PYTHONPATH}/env1/bin/python",
    "python.linting.pylintEnabled": false,
    "python.linting.pep8Enabled": true
}
```
主にインテリセンスを効かせるために設定します。ファイルの位置は、
Code>基本設定＞ワークスペースの設定です。このワークスペースを開いたときのみ設定されます。
※pylintとpep8の設定は身内のために記載しているので不要です。

#### ウ．デバッグ機能の設定
取りあえず、ひな形ファイルを作るために、左のメニューからデバッグアイコンをクリックして、無理矢理デバッグ実行してください。
※Pythonを選んでね！
その後、launch.jsonが出来るかと思うのでそれを編集

```vscode:lounch.json
        {
            "name": "Django",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "pythonPath": "/Users/userName/Develop/Sandbox/Python/env1/bin/python3",
            "program": "${workspaceRoot}/manage.py",
            "cwd": "${workspaceRoot}",
            "args": [
                "runserver",
                "--noreload"
            ],
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput",
                "DjangoDebugging"
            ]
        },
```
PythonPathの項目のみ触ればＯＫ、仮想環境へのパスを通してください。

###９．Ｍａｃ版終わり
ここまでやれば、インテリセンスも
<img width="592" alt="スクリーンショット 2017-01-09 14.05.09.png" src="https://qiita-image-store.s3.amazonaws.com/0/156596/6959a59c-bc7f-1220-c52a-5a66157d21f0.png">
デバッグ実行も
<img width="502" alt="スクリーンショット 2017-01-09 14.07.00.png" src="https://qiita-image-store.s3.amazonaws.com/0/156596/fad2bc87-8ca0-d5e5-d522-59fce6df5eda.png">
動くはず（タブン）