これはcloudpack あら便利カレンダー 2018の記事です。
概要
brew install python3
というのが手っ取り早いわけですが、今後を見越して、バージョン切り替えができる環境にします。python2.xがそう簡単に廃れると思わないほうがよいです。きっと。たぶん。
brew
なにそれ?という方は下記を参考ください。
5分でできるMacBook Proに最低限の開発環境構築
https://cloudpack.media/42029
手順
- シェル: fish
- *bashの手順も併記してます。
fishはいいぞぉ
fish-shell でシェルの海をスイスイ泳いでみた
https://nulab-inc.com/ja/blog/backlog/fish-shell-tutorial/
作業前の状態
fish、bash共通
# 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オススメです。
fish
> 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
bash
> 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が使えるようになるはず。
fish、bash共通
> anyenv anyenv Usage: anyenv <command> [<args>] (略) anyenv versions
はい。
プラグインも入れておきます。
anyenvの*envたちを一括でアップデートする
https://qiita.com/sawadashota/items/825002d84088c0129c4b
fish、bash共通
> 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をいれてないけど動作確認
fish、bash共通
> anyenv update Updating 'anyenv'... Updating 'anyenv/anyenv-update'...
はい。
pyenvのインストール
fish、bash共通
# 初回は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がインストールされたはず。
fish、bash共通
> pyenv pyenv 1.2.6
はい。
Pythonのインストール
お好きなバージョンのpythonをインストールしましょう!
fish、bash共通
# インストール可能なバージョンを確認 > 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もあり。お好みで。
fish、bash共通
> mkdir ~/hoge > cd ~/hoge > python -m venv hoge
fish
# fish用のactivateがある! > . hoge/bin/activate.fish
bash
> . hoge/bin/activate
fish、bash共通
> . 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