【Python向け】シェルの環境設定（Windows、Mac両対応）

## 概要

シェル及びターミナルとは、Pythonファイルを動かすときや、Github（バージョン管理ツール）を使用するときに**コマンド**を使うときに使います。
ですので、シェルの環境設定は必ずしておきましょう！
またパソコンを買い替えたときもまた同じ設定をしないといけないのでしっかり学んでおきましょう。

以下の設定を説明していきます。

- シェル及びターミナルのインスートル
- pythonコマンドを使えるようにする
- alias（コマンド短縮）の登録

## シェルインストール

### Windows編

Windowsのシェルは、Git Bashを使っていきましょう。
GitをインストールしたらGit Bashも一緒にインストールされているはずです。
コマンドプロンプトではなく、**Git Bashを使いましょう！**

**Git Bashでのペーストは`Ctrl + v`ではなく`Shift + Insert`なので注意！**

#### Git Bashでpythonコマンドを使えるようにする

.bashrcを作成するコマンド

```
$ touch ~/.bashrc
```

↑のコマンドを打って、↓のコメントが表示されたとき、「.bashrcはもうあるけど.bash_profileは作っといたよ」っていうメッセージです。

```
WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.

This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.
```

.bashrcと.bash_profileはGit Bashの設定ファイルです。
こちらにGit Bashの設定を書き込んでいくことになります。
>
.bash_profile
ログイン時に一度設定すればいいものを記入する
.bashrc
bashを起動するたびに設定する必要のあるもの
>

今回だとログイン時に設定されればいいものなので.bash_profileに記入します。

```sh
.bash_profileをvimで開く
$ vim ~/.bash_profile
```

vimはGitBashなどのシェルの中で開くテキストエディタみたいなものです。
いちいちエクスプローラーからファイルを探してそれをメモ帳などのテキストエディタで開くという動作をしなくてもシェルの中で直接テキストエディタを開いて編集することができます。
[vimの使い方はこちら](https://qiita.com/disk131/items/22fdccb071fc4ad04407)
最終行に下記を記入し保存して閉じる。
こちらを記入することでGitbashでpythonコマンドが使えるようになります。

```
alias python='winpty python.exe'
```

### Mac編

#### iterm2インストール

[こちらからiterm2をインストール](https://iterm2.com/)

#### zshのインストール

```sh
$ brew install zsh zsh-completions
```

#### iterm2をzshで開くようにする。

```sh
$ sudo vim /etc/shells
```

`sudo`は管理者権限で実行のこと。
vimでshellsが開きます。

vimは、シェルの中で開くテキストエディタみたいなものです。
いちいちファインダーからファイルを探してそれをメモ帳などのテキストエディタで開くという動作をしなくてもシェルの中で直接テキストエディタを開いて編集することができます。
ただvimの扱いは特殊なので使い方をマスターしてください。
[vimの使い方はこちら](https://qiita.com/disk131/items/22fdccb071fc4ad04407)

```sh
/usr/local/bin/zsh
```

**最終行**に追記する。  
確認する。

```sh
$ cat /etc/shells
```

最終行に /usr/local/bin/zsh が追加されていればOK
続いてshellをzshで開くようにする。

```sh
$ chsh -s /usr/local/bin/zsh
```

一度itermを開き直す
![42538c5c1625a5916bf033717ffd4a64.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399745/c3c51340-4440-34c5-ca4d-c5d9f5b16f6c.png)

**0を押して**空の.zshrcを作成

### zshにpythonのPATHを通す

.zshrcにpythonのPATHを記入

```sh
$ vim ~/.zshrc

.zshrcがvimが開くので下記を記入
export PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:${PATH}"
保存&閉じて

$ source ~/.zshrc
↑反映コマンド
```

## alias（コマンド短縮）作成

pythonやgitを使っていると毎回長いコマンドを打たなければならなくなります。
それを短縮する方法があります。
シェルの設定ファイルにaliasを記入しればコマンドを短縮できます。
作業短縮にもなるので使いましょう！

windowsなら.bashrcに記入

```
$ vim ~/.bash_profile
```

Macなら.zshrcに記入

```
$ vim ~/.zshrc
```

でvimが立ち上がるので短縮したいコマンドを記述していく。

例：
デスクトップへ階層移動するコマンド
`cdd`でデスクットへ移動できるようになる。
windowsとMacでは違うので注意。

```
これは、シェルでcddと入力するだけでデスクトップのディレクトリ(階層)へ移動してくれます。

windows
alias cdd="cd ~/Desktop"
Onedriveが絡んでいる方は
alias cdd="cd ~OneDrive/デスクトップ"

Mac
alias cdd="cd $HOME/Desktop"
```

他のalias例

```
# git
alias g="git"
alias l="git log"
alias lo="git log --oneline"
alias s="git status"
alias a="git add"
alias re="git reset"
alias f="git fetch --prune"
alias rb="git rebase"
alias cm="git commit"
#alias m="git merge"
alias b="git branch"
alias br="git branch -r"
alias ch="git cherry-pick"
alias sw="git switch"
alias f="git fetch --prune"
alias push="git push origin HEAD"
alias fpush="git push -f origin HEAD"
alias pull="git pull origin HEAD"

# python
alias pvenv="python -m venv .venv"

Windowsの場合はこれ
alias venv="source .venv/Scripts/Activate"
Macの場合はこれ
alias venv="source .venv/bin/activate"
```