【初心者向け】GitHubとAnacondaとVSCodeでPythonの学習環境を整える（2021年4月版）

## はじめに
こんにちは。
初投稿になります。

今回は初心者の方がPythonの学習環境を整えるための手順をご紹介します。

同様の記事は探せばたくさんあります。(どんだけあるのってくらい。。)

**しかし**

今回、私が作成した環境にマッチする参考記事がなかったのでまとめることにした次第です。
皆様の参考になれば幸いです。

### 推奨環境
- Windows10

いまどきMacで学習される方が多いとは思うのですが、
現状の私はWindowsで学習しているので、こちらにフォーカスを当てております！

### この記事を通じて出来ること
- VSCodeでPythonのソースを作成し、学習を進めることができる。
- ソースのバージョン管理をGitHubで行うことができる。(作業はVSCode内で完結)
- Pythonの実行環境はAnacondaの仮想環境を用いてVSCodeにて実行することができる。
- 環境構築に自信が持てる。

### 読者に求められる事前知識
- Anacondaとはなにか、仮想環境とは何かについてなんとなく知ってる。
- Gitのリポジトリとかコミットとか基礎的な用語の理解ができる。
- VSCodeの拡張機能とは何か知っている。
- 各種インストール作業等は調べてある程度行うことができる。(本記事でも説明しています)

### 変更履歴
- 2021年4月28日　新規作成
- 2021年4月29日　condaコマンド実行エラーへの対処を記載
- 2021年5月05日　gitignoreによるgit管理対象外ファイルの設定方法を記載

ではさっそく始めていきましょう！

## GitHubの準備
#### アカウント作成

まずは、Gitの管理のためにGitHubアカウントを作成しましょう。
以下のサイトで　**サインアップ**　を選択し、アカウントを作成。

https://github.co.jp/

#### リモートリポジトリの作成
アカウントができたらリモートリポジトリを作成しましょう。
ログインをしてユーザーページを表示します。
画面左の「Create repository」かヘッター右側の「 ＋ 」内「New repository」をクリック。

![github1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/4803a066-cf7c-e532-b4b4-3f5c74574b4d.png)

入力が必要な内容は以下の通りです。

- Repository name(リポジトリ名) 　⇒　**任意**
- Description(リポジトリの説明)　⇒　**任意**
- 公開(Public)か非公開(Private)の選択　⇒　**今回は公開で**
- README.mdファイルを作成する「Add a README file」にチェック

以上を行ったら「Create repository」をクリックします。
![github2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/ca513e53-f21c-cc86-a6d5-4c083ff923f8.png)

GitHubに関しての準備作業は以上になります。

## 各種インストール作業
環境構築に必要なものは以下になります。

- Anaconda
- Git
- VSCode

### Anacondaのインストールと初期設定
以下からインストーラをダウンロードしましょう。

https://www.anaconda.com/products/individual

![anaconda1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/306bf4c0-b5c9-0bf5-e19b-7bb3f5de74ac.png)

インストール時のオプション設定項目はすべてデフォルトのままで構いません。
念のため１点だけ画像をお見せしますが、
以下の設定だけは同じチェックの付き方になっているか確認をお願いします。

![anaconda3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/c6457959-c943-170b-2261-08c23db7a72d.png)

インストールが完了したら以下の作業を行いましょう。

#### 仮想環境の作成

Anaconda Promptを起動してください。
こちらはAnaconda専用のコマンドプロンプトだと思っていただければ大丈夫です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/991fd518-1ed0-4022-f7af-85ec357d7af3.png)

詳しくは割愛しますが、
Python3.7のみを含んだ状態で仮想環境を作成するには、以下のコマンドで可能です。

```python
$ conda create -n 環境名 python=3.7
```

仮想環境作成時には確認の入力が求められるので、 **y**　と入力して作成を終えましょう。

#### コマンドライン環境の設定
一般のコマンドプロンプトやPowerShellでもPythonを利用する場合は、次の設定を行いましょう。
引き続きAnaconda Promptにて以下のコマンドを実行してください。

```python
$ conda init
```
今の設定でVSCodeからソースの実行を行う際に起動するPowerShellでもPythonが利用できるようになりました。

これでAnacondaの準備は完了です。

### Gitのインストールと初期設定
続いてはGitのインストールになります。
みんなの味方 Progate さんのお世話になりましょう。
以下の記事の「**Gitのインストール**」項のみ実施してください。

もし、エディタの設定にVSCodeが出てこなかったら、一旦インストーラの作業を止めて
後述するVSCodeのインストールだけ先に行ってしまいましょう。

https://prog-8.com/docs/git-env-win

初期設定としてはユーザ名の登録とメールアドレスの登録を行います。
手順は上記(Progate)の記事を参考にしていただければ構いませんが、
メールアドレスはGitHub上で公開されてしまいます...。（リポジトリの共有などを行った場合等）

個人で使っているものを登録するのは気が引けますよね？
ということで便利なメールを使いましょう。

その名も **GitHub の Primary email address** です！

確認するには、GitHubのユーザーアイコンをクリックします。
表示された一覧の下から2番目「Settings」をクリックします。

左側メニューの中央「Emails」を選択すると2つ目にPrimary email address があります。
この文章中に **数字+アカウント名@users.noreply.github.com**で書かれたアドレスがあるので
そちらを活用されてください。

![git1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/4fca21cc-55de-1921-b0b6-a06911b6f1b4.png)

これでGitの初期設定まで完了です。


### VSCodeのインストールと初期設定
ようやくエディタのお出ましです。
以下からインストーラを取得して、インストール作業を行ってください。
オプション項目はすべてデフォルト値で構いません。

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

VSCodeでは拡張機能をお好きに活用してください。
本記事では以下の2件は少なくとも入れることを推奨しています。

- Git History
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/92d58448-a9c6-5c9c-68f8-dcbbdf650f75.png)

- Python
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/2676285d-ad91-7865-61b6-bd2b2c1e6d0b.png)

初期設定としてはGitとの連携を行います。
1. ソースコントロールのアイコンをクリックします。
2. ソース管理画面「リポジトリのクローン」をクリックします。
3. 上部にテキストボックスが表示されるので、「**GitHubから複製**」をクリックします。
4. ポップアップが表示されるのでGitHubにサインインしてVSCodeと連携させてください。
5. 再度1~3の作業を行うと、作成したリモートリポジトリの選択肢が出るのでクリックします。
6. リポジトリをクローンするディレクトリを任意の場所に指定してください。(今後はここで開発を行うことになる)
7. 画面右下にリポジトリを開くか問われるので、「**開く**」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/abbfe328-b07b-528a-551f-9546d4ecc74d.png)

これで、Gitでのバージョン管理ができる状態のVSCodeが完成しました。

## ソースを作成して実行してみよう！
実際に簡単なファイルを作成して実行してみましょう。
何でも良いのでpythonファイルを作成してください。

以下、参考画像です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/8f7a149f-531e-6e15-be77-2cfc67ff4895.png)

作成したら、実行するためにAnacondaの仮想環境を実行環境に指定します。
画面左下のPythonの実行環境を選択する項目(画像の赤線の箇所)をクリックして、あなたが作成したAnacondaの仮想環境を選択してください。

![vscode1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/44cb72df-58f7-70bf-ef9d-e2ba5517ffa1.png)

デフォルトではBase環境になっていて、もちろんこれでも動きますが(今回のソースに限る)
自身で作成した環境を使いたいってときはこのように変えられるんだね　って認識で構いません。

環境を選択すると自動的にjsonファイルが作成されるかと思います。
これは、Python実行時にどの実行環境を使用するのかを示しているものなので、Gitでの管理は必要ないです。
むしろ、GitHubに反映してしまうと**PCのユーザー名が全世界に公開されてしまうので注意が必要**ですね。

次項でGit管理外にする方法を記載します。

~~ここに関してだけは私も解決できていないので心残りな点です。
何か良い案あれば欲しいくらいですね。~~(2021年5月05日 訂正)



![vscode2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/690e3348-d051-bc66-cdaf-f9ff54da128a.png)

実行環境が選択出来たら画面右上の ▷ マークをクリックして作成したソースを実行してみましょう！

## GitHubに作成したソースを反映させよう！
最後にソースの反映をして締めたいと思います。

#### Git管理外にしたいファイルがある場合の対処方法
前項で勝手に作成されてしまった **settings.json** など、Git管理から除外したいファイルがある場合は、 **.gitignore** を利用しましょう。

1. workspace直下で **.gitignore** という名前のファイルを作成する。
2. 作成したファイルに **.vscode/** と **.gitignore** を記載する。

すると、Gitに反映するソースの差分として **settings.json** が除外されているはずです。
今回は **.vscode** フォルダも含めて配下のファイルすべてを管理対象外にしましたが、特定のファイルのみを対象外にしたい場合は場合は個別に名前を指定してあげてください。
![vscode7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/a297782a-654b-45a5-f5c5-0ce96309e7b9.png)


変更を加えたファイルはVSCodeが自動的に教えてくれます。
リポジトリに反映したいファイルを「+」ボタンでステージングします。

※以下の画像では **settings.json** が対象に入っていますが、先ほどの除外設定をした皆さんは記載されていないはずです。

![vscode3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/bdf1c441-10b3-92e9-8679-8b8e4edfa6e6.png)

その後、コミットメッセージを設定しチェックマークをクリックでコミットを行います。
![vscode4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/1c7f1d5a-35e8-6707-9307-59701048c777.png)

するとGit Historyからコミットした履歴が確認できるかと思います。（以下の赤丸のボタン）
![vscode5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/e2efe617-d40a-eb63-a6a5-128142d43813.png)

最後に、画面左下のプッシュ(正確には同期)ボタンをクリックしてリモートリポジトリへの反映を行います。
初回はGitとGitHubでの連携ポップアップが出るかと思いますのでサインインしてあげてください。
![vscode6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1408655/0a808de1-3b4c-eb45-8537-b84916434425.png)

以上の作業が完了すれば、GitHub上でも変更したソースの内容が確認できるかと思います。

## まとめ
いかがでしたでしょうか。

拙い文章で恐縮ですが、少しでもお力になれましたら幸いです。
また、間違った理解や指南がありましたら随時修正を加えていきます。

Pythonライフを楽しみましょう！