nano_exit

基礎的なことこそ、簡単な例が必要だと思うのです。

MacOSでpythonをインストールし直す

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で使うまで