これはcloudpack あら便利カレンダー 2018の記事です。
概要
brew install python3
というのが手っ取り早いわけですが、今後を見越して、バージョン切り替えができる環境にします。python2.xがそう簡単に廃れると思わないほうがよいです。きっと。たぶん。
brew
なにそれ?という方は下記を参考ください。
5分でできるMacBook Proに最低限の開発環境構築
https://qiita.com/kai_kou/items/3107e0a056c7a1b569cd
手順
- シェル: fish
- *bashの手順も併記してます。
fishはいいぞぉ
fish-shell でシェルの海をスイスイ泳いでみた
https://nulab-inc.com/ja/blog/backlog/fish-shell-tutorial/
作業前の状態
# macOS Sierra
> sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.6
BuildVersion: 16G1510
# Macには2.7が最初からインストールされている
> python --version
Python 2.7.10
> which python
/usr/bin/python
# まだ入ってない
> anyenv
fish: Unknown command 'anyenv'
> pyenv
fish: Unknown command 'pyenv'
anyenvのインストール
Mac に anyenv でサクッとマルチ開発環境構築
https://qiita.com/yutackall/items/6c48cf56317d8501f6df
anyenv とは、ざっくり言うと、rbenvとか、nbenvとか複数バージョンをインストールできる **env系をまとめて管理できるツール。
です。個別にインストールするとあとで泣くことになるので、anyenvオススメです。
> echo 'set -x PATH $HOME/.anyenv/bin $PATH' >> ~/.config/fish/config.fish
# fishだとevalがハマりどころ(1敗)
> echo 'eval (anyenv init - | source)' >> ~/.config/fish/config.fish
# シェルの再起動(exec $SHELL -l じゃむり)
> exec fish -l
> git clone https://github.com/riywo/anyenv ~/.anyenv
> echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
> echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
> exec $SHELL -l
これでanyanvが使えるようになるはず。
> anyenv
anyenv
Usage: anyenv <command> [<args>]
(略)
anyenv versions
はい。
プラグインも入れておきます。
anyenvの*envたちを一括でアップデートする
https://qiita.com/sawadashota/items/825002d84088c0129c4b
> git clone https://github.com/znz/anyenv-update.git "$(anyenv root)/plugins/anyenv-update"
# fishの場合「$」があると
# 「fish: $(...) is not supported.」って怒られるのでこっち。
> git clone https://github.com/znz/anyenv-update.git (anyenv root)/plugins/anyenv-update
まだなにも*envをいれてないけど動作確認
> anyenv update
Updating 'anyenv'...
Updating 'anyenv/anyenv-update'...
はい。
pyenvのインストール
# 初回はenvsフォルダがないって怒られるので
> mkdir ~/.anyenv/envs
> anyenv install pyenv
Install pyenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.
# シェルの再起動: bash
> exec $SHELL -l
# シェルの再起動: fish
> exec fish -l
これでpyenvがインストールされたはず。
> pyenv
pyenv 1.2.6
はい。
Pythonのインストール
お好きなバージョンのpythonをインストールしましょう!
# インストール可能なバージョンを確認
> pyenv install -l
Available versions:
2.1.3
2.2.3
(たくさんでてくる)
# 指定のバージョンをインストール
> pyenv install 3.6.6
(略)
Installed Python-3.6.6 to ~/.anyenv/envs/pyenv/versions/3.6.6
> pyenv versions
* system (set by ~/.anyenv/envs/pyenv/version)
3.6.6
> pyenv local 3.6.6
> python --version
Python 3.6.6
はい。
仮想環境を作って入る
仮想環境はAnacondaを使うのもありなのですが、Python 3.3からvirtualenvが標準機能として組み込まれたようなので、venv+pipもあり。お好みで。
> mkdir ~/hoge
> cd ~/hoge
> python -m venv hoge
# fish用のactivateがある!
> . hoge/bin/activate.fish
> . hoge/bin/activate
> . hoge/bin/activate
> which pip
~/hoge/hoge/bin/pip
> deactivate
はい。
それでは、よきPython開発ライフを^^
参考
fish-shell でシェルの海をスイスイ泳いでみた
https://nulab-inc.com/ja/blog/backlog/fish-shell-tutorial/
riywo/anyenv
https://github.com/riywo/anyenv
Mac に anyenv でサクッとマルチ開発環境構築
https://qiita.com/yutackall/items/6c48cf56317d8501f6df
anyenvの*envたちを一括でアップデートする
https://qiita.com/sawadashota/items/825002d84088c0129c4b
fish shell の時に プロセスを起動し直す
http://hotoolong.hatenablog.com/entry/2018/05/07/194938
fishでのevalの設定方法
https://ema-hiro.hatenablog.com/entry/20170523/1495519890
venv: Python 仮想環境管理
https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e
Anaconda で Python 環境をインストールする
https://qiita.com/t2y/items/2a3eb58103e85d8064b6
activate.fish $(...) is not supported. In fish, please use '(.env)'. #1030
https://github.com/pypa/virtualenv/issues/1030