Pythonでデータ分析の遠隔勉強会用環境構築@2018/9/23

#内容
遠方の友人と一緒にpythonで勉強を始めたが、Slackでサポートしながら環境構築をしたら色々つまずいたので手順をまとめ共有します。
AnacondaでPython入れてgithubでコードを共有できるようにするところまでやりました。
使っている環境はWindows10です。

※編集リクエスト大歓迎です。直したほうが良いところあればリクエストください。

#大まかな流れ
　　１、AnacondaでPythonをインストール、動作確認
　　２、Gitのインストール
　　３、Githubに登録、リポジトリ作成
　　４、SSH鍵の作成、リポジトリのclone
　　５、VScode導入、githubにpush

#1、AnacondaでPython導入
今回はデータ分析の勉強用ということでAnacondaで必要なライブラリ含めインストールすることにしました。以下のサイトを参考に3.x系をインストールしました。
この時点で一回目のつまずき、**PATHの追加(Add Anaconda to my path...)**にチェックをし忘れてちょっと時間を取られました。

https://pythondatascience.plavox.info/pythonのインストール/pythonのインストール-windows

インストール完了後コマンドプロンプトを起動しpythonと入力、python 3が起動しAnaconda inc..と書かれていることを確認して動作確認完了(終わるときはquit())と入力。
#2、Gitのインストール
まずはインストーラを、公式HPからWindows用をダウンロード。ページに行くと勝手にOSにあった最新のインストーラがダウンロードされます。

https://git-scm.com/downloads

ダウンロードが始まらない場合はGit for Windows SetupのOSにあった64bitか32bitのインストーラをダウンロードしてください。

実行するとライセンス画面が表示される。まずはNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/2df11e06-9394-810a-5627-09ba104391a6.png)
続いてインストール先のフォルダはデフォルトのままNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/f79c28cb-eed7-700a-abb4-7df446077d38.png)
ここでは以下を確認。
　-Additional icons -> デスクトップアイコンは不要なのでチェックを外す。
　-Windows Explorer integration -> チェックすると右クリックにgitのメニューをが出るようになる。
　 以前間違えてチェックしたままにしたら邪魔だったのでチェックを外す。
　-Use a TrueType font in all console windows -> チェックしたままだと文字化けするのでチェックを外す。
  -Check daily for Git for Windows updates -> 特に理由はないが必要に応じてUpdateすればいいかということでチェックを外す。
以上を確認したのちNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/d3d00bf0-126e-8813-5f41-1526c942ef93.png)
特にフォルダを指定する必要がなければそのままNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/f715cb40-31fd-9265-b796-ebafa5342148.png)
エディタの選択。
デフォルトのVim以外を選択するとNEXTボタンを押せなくなるが、表示されているエディタのダウンロード先のリンクを一度クリックしてリンクを開くとNEXTを押せるようになる。
必要に応じてここでエディタを入れてしまえばよさそう。
もともとVScodeが入っているので、VScodeを選んでリンクを押してからNEXTをクリックした。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/46d60281-c518-7ba7-d291-b38711a2e873.png)
続いて環境変数の設定。
　-Use Git from bash only -> 環境変数には影響せずbashからのみgitを使用。bashの導入がひつようになるのでパス。
　**-Use Git from the Windows Command Prompt -> コマンドプロンプトからgitを使用。今回はこれを選択。**
  -Use Git and optional Unix tools from the Windows Command Prompt -> UNIXコマンドをコマンドプロンプトから使えるようになる？warningが怖かったのでやめておいた。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/6967f622-190a-e891-d43a-acd2c67951c0.png)
SSLの設定。書いてあることを読んでも全く分からなかったのでググるとみなさんデフォルトの様子。
デフォルトのUse the OpenSSL libraryを選択しNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/930e7ab8-6599-2c4f-e4d2-99b9672d474b.png)
改行コードの自動変換の設定。
これもよくわからなかったが色々調べる自動変換で不都合が生じることが多いらしい。
少なくとも一番上はNGらしい。
何もしない一番下を選択し、NEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/d8f8ae5b-9eba-69f8-55cd-b3116cde13f6.png)
使用するコンソールを選択。Use Windows' default console windowを選択しNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/7c0e94b1-bdd1-f563-cc49-94388763eb58.png)
キャッシュや二段階認証の設定。そのままでNEXTをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/0b3e5605-8c0d-aacc-88f4-d0af63815880.png)
開発中の機能を入れるかの選択。とりあえず冒険せずどちらもチェックせずにInstallをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/d05aabb4-b309-14cf-bef2-d6327eb54eb8.png)
最後にgitの構成のためコマンドプロンプトより以下を入力します。

```udiff
$ git config --global user.name "任意のユーザ名"
$ git config --global user.email "任意のメールアドレス"
```
詳細は以下を参考にしました。
https://git-scm.com/book/ja/v1/使い始める-最初のGitの構成
#3、Githubの登録とリポジトリの作成
GithubにアクセスしSign up for GitHubからアカウントを作成。
https://github.com/
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/0b586f8b-ce21-d26b-4205-71be83b89e07.png)
アカウントを作成してログインしたら画面右上の+マークのプルダウンメニューからレポジトリを作成。
New repositoryをクリック。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/620102ea-46b0-b89b-7b8d-748b15ea2e6e.png)
Readmeを作成するか問われますが、どちらでもいいと思います。
#4、SSH鍵の生成とGithubへの登録、リポジトリのクローン
以下の情報を参考にSSH鍵を生成し、Githubに登録します。

https://git-scm.com/book/ja/v1/Git-サーバー-SSH-公開鍵の作成
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

c:\Users\ユーザ名\　の場所に.sshというフォルダを作成します。
続いてコマンドプロンプトを立ち上げ、ディレクトリを上記のフォルダに切り替えてSSH鍵を生成するコマンドを入力します。
通常コマンドプロンプトを立ち上げるとデフォルトでc:\Users\ユーザ名\にいるはずなので、以下のコマンドでディレクトリの切り替えと鍵の生成が可能です。

```udiff
cd .ssh 　#このコマンドでc:\Users\ユーザ名\.sshに切り替わります。
ssh-keygen -t rsa -b 4096 -C "メールアドレス"　#SSH鍵を生成
```
上記SSH鍵生成コマンドを入力すると以下のようなメッセージがでますので、必要に応じてPWを入力します。PW無しでも問題ないみたいなので無しで行きます。

```udiff
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\ユーザ名/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):(必要に応じてPWを入力。PWは見えない。)
Enter same passphrase again:(上記のPWを再入力。)
Your identification has been saved in C:\Users\ユーザ名/.ssh/id_rsa.
Your public key has been saved in C:\Users\ユーザ名/.ssh/id_rsa.pub.
The key fingerprint is:
ランダム文字列 + 上で入力したメールアドレス
The key's randomart image is:
+---[RSA 4096]----+
   よくわからない
   AAっぽい模様
+----[SHA256]-----+
```


成功すると上で作成した.sshフォルダに以下の二つのファイルが生成されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/71c653e6-f033-2858-5110-597f825ddff9.png)
画像の上のid_rsaは秘密鍵なので**絶対誰にも教えても見せてもダメなやつです。**
下のid_rsaのPUBファイルのほうは公開鍵なので教えたり見せてもOKなやつです。
こちらの中身を続いてGithubに登録することで、SSH経由でGithubからレポジトリをクローン出来るようになります。
Githubに移動して以下のSettingsに入ります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/9df8cb53-e91b-aa07-b0b2-950fb0cb66af.png)
続いて画面左側のSSH and GPG keysを選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/3a0a0ae5-08f7-2a1e-d7cf-9889d88f90f0.png)
続いて↓の右側のNew SSH keyをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/2a992bde-9078-4a8a-5cd8-86157548cfb9.png)
続いて表示された以下の画面でKeyにid_rsa、PUBファイルの中身をコピペします。
Titleは接続相手がわかるように任意でつけてAdd SSH keyをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/431626e0-29f0-6b49-e5a2-9f2342400b0b.png)

続いてGithubとの通信確認を実施します(新しいSSH鍵を登録したら一回実施)。
コマンドプロンプトを開いて以下のコマンドを入力します。

```udiff
ssh -T git@github.com
```
すると以下のメッセージがでてyes/noを求められますので、yesを入力します。

```udiff
The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is 任意の文字列.
Are you sure you want to continue connecting (yes/no)?
```
接続に成功すると以下のメッセージが表示されます。

```udiff
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
Hi NHRD! You've successfully authenticated, but GitHub does not provide shell access.
```
接続が確認できたらGithubのリポジトリをローカルにcloneします。
cloneしたいリポジトリをgithub上で開き以下のボタンでSSHアドレスをコピーします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/00afc664-b202-60cb-74a4-e7669fefadea.png)
次にコマンドプロンプトでリポジトリを置きたいディレクトリで以下のコマンドを入力します。

```udiff
git clone コピーしたアドレス
```
cloning into ~~というメッセージがでてcloneが完了したらリポジトリと同じ名前のフォルダが作成されます。

#5、VScode導入、githubにpush
エディタはVScodeを使うことにしました。
アドオンで色々な言語に対応できgitもGUIが初めから入っています。
VScodeは以下からダウンロードしインストールします。

https://code.visualstudio.com/

インストールしたらPython用の拡張機能を追加します。Ctrl + Shift + Xを入力し、Pythonで検索て、以下の拡張機能をインストールしました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/8a258ee8-f329-9d4f-7c18-ede2a3b29358.png)

続いてクローンしたリポジトリを開きます。
ファイル→フォルダを開くからリポジトリを選択します。
ここにソースコードを追加します(↓からファイルやフォルダを追加できます)。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/155e693f-7956-6a17-7779-cc408bcdf5d4.png)
ファイルを作成して編集するとGUIに↓のような表示が出ます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/b9e0ac99-67ea-d39f-b6ec-3a9434e82172.png)
とりあえずファイルを保存すると画像上側の表示は消えるので、次にgitのマークっぽいボタンを押します。
そうすると↓のような表示になるので、チェックマークを押しメッセージ欄にcommitメッセージを入力(変更箇所のメモなど)します。
するとリポジトリの名前の横の表示が↓のようになりますので更新マークを押すとGithubにプッシュされます(からのリポジトリにプッシュするときはクラウドマークみたいなのがでました)。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/274587/fb24717c-e445-1200-412a-16cfab18afa3.png)
#まとめ
以上の作業をSlackでトラブルシューティングしながらやりました。
遠隔でやると参考にリンクを送るわけですが、チャットに埋もれて戻って見るのが大変でした。
情報が日々更新されていてリンク先から状況が変わったところでつまずいたりもするので、
本日時点の情報をまとめました。