python2を主に使っていたが、仕事上ちゃんとpython3の環境を整えなければならなくなり、その際の記録。
いろいろお試し感覚でごちゃごちゃ入れていて、
- System由来のpython2
- 手動経由のpython2
- MacPorts経由のpython2
- pyenv経由のmicroconda (python3)
が混在していた。
メインでは手動で入れたものを使用していた。それもあり、一度整理しておきたいと思っていた。
手動で入れたpython2は /Library/Python/... に入っていたので、Pythonのフォルダごと消去した。
sudo rm -r /Library/Python
.../bin/の中のpip等も手動で消した。
MacPortsでは以下のコマンドでアンインストールが行える。
port installed sudo port uninstall python
しかし、python_select などの細かいものは一気に消してはくれない。残しておくのはそれはそれで気持ち悪いので、一個一個消した。
その他、MacPortsが主に散らかす /opt/local/ の各フォルダの中にも(残しておいても問題ないが)ゴミが残るので、完全に綺麗に消すのは難しいと思う。
microcondaも、pipとcondaは混ぜない方が良いという記事を発見したので、pyenvのコマンドでアンインストールした。
condaとpip:混ぜるな危険 - onoz000’s blog
何も考えずにpyenvを使うことは推奨されていないが、簡単にバージョンごとアンインストール等が出来るのは、リソースの限られたノートパソコン上では悪くないと感じた。
pyenvが必要かどうかフローチャート
なので、pyenvはこのまま採用。
ただし、何故だか知らないが、(少なくともMacOSでは)pyenvにはupdateのコマンドが内蔵されていない。
幸い、git経由でpyenvをインストールしていたため、git pull で更新することが出来た。
cd ~/.pyenv git pull
これによって、python3.7.0がインストールリストに表示され、インストールすることが出来た。
ただし、MacOSでは、matplotlib等を使う場合、pythonはFramework上でインストールしなければエラーが出るため、(仕組みは知らないが)以下のコマンドでインストールをした。
pyenv install -l env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.7.0 pyenv local 3.7.0 pyenv global 3.7.0 pyenv rehash
Home · pyenv/pyenv Wiki · GitHub
pyenvでpython3.7.0をインストールした後は、pipでモジュールをインストールすることになるが、(pyenvのフォルダがhome直下にあるので必要ないが)sudoを付けるとpipがいないと怒られた。
これは環境変数がsudoだとリセットされることで起こるらしいので、自分はリセットしないように変更した。
sudo visudo
sudo でコマンド打ったら「コマンドが見つかりません」と言われたときの気持ち - 彼女からは、おいちゃんと呼ばれています
jupiter notebookは以下のサイトを参考にインストール
Jupyter Notebookのインストール
他のpythonのバージョンを加える場合には以下のサイトが参考になった。
Jupyter Notebookでpython3 Kernelを追加するのにはまったメモ
ちなみに、Juliaをjupiter notebookのカーネルに追加するには、以下のサイトを参照。
Julia v0.6.1のインストールとJupyter Notebookで使うまで