【環境構築】Macでpythonの学習環境を作ろう！【Git+Docker+VSCode】

こんな一丁前に言ってますが、まだバチバチの初学者です。
初学者向けですが、Macでpython環境を作るナレッジです。

# 用意するもの
1. GihHub
1. Docker
1. VSCode

## 1.Gihub
[GitHub](https://github.com/)に登録して、アカウントを作成しましょう。
メールアドレスがあればアカウントを作成することができます。

他の会員制サービスと同じように、普通に登録すればOKです。

登録が完了したら、まずはリポジトリを作成しましょう。

自分のプロフィールページにRepositoriesタブがあるので開きます。
右上のNewボタンをクリックすると、リポジトリ作成画面に遷移します。

Repository Name：任意の名前
Description:任意の説明（なくてもOK）
Public / Private:Publicにチェック

記入を終えたら、Create Repositoryをクリックすると、Repositoryの作成は完了です。

<!--
## 2.Sourcetree
[Sourcetree](https://www.sourcetreeapp.com/)のページから、Mac用のSourcetreeをダウンロード＆インストールします。

インストールしたら、アプリを開き、右上の「・・・」マークをクリックし、アカウントを開きます。

![スクリーンショット 2021-03-28 14.59.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/b09e3ad6-a855-feae-8eab-3b97ca4471b3.png)

「アカウントの追加」から、GitHubのアカウントを連携します。
[詳しくはこちらの記事参照](https://qiita.com/suzutatsu/items/817f58cfb6e69f56d134)

以降の作業も、上記のリンクと同じです。
![スクリーンショット 2021-03-28 15.07.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/d251bf8b-35dc-49e4-212d-5f8c6c6a529e.png)

URLからクローンを選択して、作成したリポジトリのURLを入力します。
URLは、リポジトリのページのCodeから取得できます。

![スクリーンショット 2021-03-28 15.09.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/8b9e8bca-8884-9912-3a33-f487e13c96f4.png)

こんな感じのウィンドウが開ければOKです。

![スクリーンショット 2021-03-28 15.15.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/b409917a-a37d-fb3a-cb33-ea66a0266b4c.png)
-->

## 2.Docker
[Docker](https://www.docker.com/)のページから、Docker for Macをダウンロード＆インストールします。

こちらも、通常のアプリケーションのように、インストール作業をしてもらえたらOKです。
ターミナルを開いて、docker versionと入力して、バージョン情報が帰ってこれば完了です。

```
$ docker version
Client: Docker Engine - Community
 Cloud integration: 1.0.9
 Version:           20.10.5
（以下略）
```

ここから、python用の環境づくりです。
以下コマンドを実行して、pythonのdockerイメージを取得します。

```
$ docker pull python:latest
latest: Pulling from library/python
8bf9c589d5f9: Pull complete 
4c70e46d8b5f: Pull complete 
ea848ad42f0d: Pull complete 
48fe137f8d26: Pull complete 
4b13f6ed9b0c: Pull complete 
ba85279f50e0: Pull complete 
59a18d8c3680: Pull complete 
c610993f70c6: Pull complete 
a9afc028cd66: Pull complete 
Digest: sha256:8bd2e361ad8575ae80a6a3e556a524d44421cb5fa6b55ba6309be52efd08a578
Status: Downloaded newer image for python:latest
docker.io/library/python:latest
```

pullしたdockerイメージがあるか確認しましょう。

```
$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
python       latest    b1aa63f57d3c   12 hours ago   885MB
```

では、イメージからコンテナを起動してみましょう。

```
$ docker run -it python:latest /bin/bash
/#
```

コンテナの中に入れましたね。
pythonのバージョンとmoduleを確認しておきましょう。

```
/# python --version
Python 3.9.2
/# pip list
Package    Version
---------- -------
pip        21.0.1
setuptools 54.2.0
wheel      0.36.2
```

ついでに、作業ディレクトリも作成しておきましょう。

```
/# mkdir home/waorkspace
```

## 3.VSCode
[VSCode](https://azure.microsoft.com/ja-jp/products/visual-studio-code/)のページから、Mac用のVSCodeをダウンロード＆インストールしましょう。
他のアプリケーション同様、普通に進めればOKです。

[こちらの記事](https://qiita.com/nanamesincos/items/5c48ff88a4eeef0a8631)を参考に、VSCodeの日本語化をおこないます。

拡張機能メニューで、Remote-Containersをインストールします。
![スクリーンショット 2021-03-28 15.46.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/3606ae3e-49a7-420a-7084-57439813fac3.png)

左下に、＞＜みたいなマークが出たらOKです。
![スクリーンショット 2021-03-28 15.47.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/ff6d4f7a-b453-3ba8-2866-ee71081c994c.png)

左のメニューから、モニターに＞＜の着いたマークをクリックし、
python環境の+ボタンをクリックすると、新しいウィンドウが開きます。
※コンテナが起動していないと、入ることができないので注意してください。
![スクリーンショット 2021-03-28 16.22.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/bb72d21f-2133-cfda-7e53-feee91503820.png)

ウィンドウの下に、Container python:latestと出てれば接続完了です。
![スクリーンショット 2021-03-28 16.23.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/ccc6b04c-6e52-a237-2e6a-f494ca25aa0d.png)

コンテナ側のウィンドウで、Clone Repositoryをクリックします。
![スクリーンショット 2021-03-28 16.31.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/a1d60563-7703-82cd-290d-86f883f9f57d.png)


先ほど作成した作業ディレクトリを指定します。
![スクリーンショット 2021-03-28 16.36.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/37de498e-3e51-d647-1585-ff9db0bb692a.png)

Gitの拡張機能をインストールするか聞かれるので、installを選択します。
Cloneが完了したらREADME.mdを作成して、pushしてみましょう。
「・・・」　のメニューの中に、commitとpushがあるので、やってみます。
![スクリーンショット 2021-03-28 16.40.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/3ec5ff1a-f635-8e01-6cb0-89a4f8518cc5.png)

githubで確認すると、更新されています。
![スクリーンショット 2021-03-28 16.41.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/fb5407d4-1f76-0522-267c-0f796a88368f.png)

次に、pythonの拡張機能をインストールしましょう。
![スクリーンショット 2021-03-28 16.55.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/b7e74574-06f4-9bf2-08b2-099fa5d88b46.png)

完了したら、test.pyというファイルを作成して、実行してみましょう。
![スクリーンショット 2021-03-28 16.57.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178764/71658cd9-fb9e-cf61-1a53-7a0740ad47f9.png)

こんな感じで、実行できました。

## 最後に
ファイルの管理 -> GitHub
エディター・コーディング　-> VSCode
python環境の作成・管理 -> Docker
こんな感じの棲み分けになります。

何かmoduleを追加したい時は、Docker上でpipをします。
pythonの実行環境は、VSCodeの拡張機能で実現します。
コードは、VSCodeとGitの拡張機能で管理します。


本当は、dockerfileでpythonの環境を作れるようにして、
管理もgitでやったほうが良いんだろうなとは思いますが、とりあえず動かしたかった気持ちが先走りこのようになりました。
またそのうち記事にしていきます。