70 Pythonのインストールの仕方まとめ

来年度(2022年度)のゼミは Python 推しで行くことにしたので、少しまとめておく。

色々なやり方がある。

(a)
(古い?) https://www.python.org/downloads/macos/ から “Download macOS 64-bit universal2 installer” を取得して IDLE.app をインストールして利用する。
(b)
Anaconda を導入する。これはこれで色々やり方があるらしいけれど、 最近の学生を見ていると、 Anaconda Navigator | Individual Edition を使っている人が多いみたい。 Anaconda3-2021.11-MacOSX-x86_64.pkg のようなパッケージを入手してインストールして、Jupyter 使っている。
(複数の人が共有するようなコンピューターでも、 Individual Edition で良いのかどうか、よく分からない。) ホームディレクトリィの下に opt/anaconda3 というディレクトリィを作って、そこにものが置かれる。
(c)
MacPorts を使ってインストールする。 私自身はこれを採用している (他でたくさん MacPorts 使っているため、 この方がダブりが少なくなりそうだから)。 最近は次のようにしている。 まず、パッケージを更新するため (MacPorts では普通のことだが)
sudo port selfupdate
sudo port upgrade outdated
とする。それから関係するパッケージをインストールする。 (最初に sudo port install python310 とするのが素直?)
sudo port -N install openblas +native
sudo port -N install py310-numpy +openblas
sudo port -N install py310-scipy +openblas
sudo port -N install py310-matplotlib
sudo port -N install py310-ipython
sudo port -N install py310-jupyter
sudo port -N install pandoc
sudo port select --set python python310
sudo port select --set python3 python310
sudo port select --set ipython py310-ipython
sudo port select --set ipython3 py310-ipython
sudo port select --set cython cython310
sudo port select --set pygments py310-pygments
which python として、 /opt/local/bin/python となることを確認すること。 matplotlib の backend については、 https://matplotlib.org/stable/users/explain/backends.htmlを見よ。
(d)
(工事中) Homebrew でインストールする場合、まず python をインストールしてから、 他のものは pip でインストールする。
brew update
brew install python3
pip3 install --upgrade setuptools
pip3 install --upgrade pip
brew linkapps

pip3 install numpy
brew install gfortran
easy_install3 cython
brew install swig
pip3 install git+http://github.com/scipy/scipy/

(裏方さんで Fortran が働いているのか…そういえば、 そのせいで M1 用の Python が出て来るのに時間がかかったとか、 小耳にはさんだことがあるけれど、本当かな。)


(a) は書籍等で紹介されていたりする。 「本を買って自習」する人に利用者が多いのかもしれないが (実際どうかは知らない)、 うちの学生はすでに Jupyter Notebook 使っていたりするので、 薦めるのは実際的でないかもしれない。


Jupyter notebook は、Code セル以外に Markdown セルもあり便利である。 TeX を覚えることを薦めるのかな。


(b) を使っている学生は多い? こうすると、Jupyter もインストールされる。 ちゃんと動作するようになっていれば、 そのまま使い続ければ良いと思われる。 Anaconda Navigator はアップデートがあれば、アップデートするようにうながされる。 /Applications/Anaconda-Navigator.app/Contents/MacOS/python に Python が置かれていて、それを実行できるみたい。 はてな ~/opt/anaconda3/bin の下にもあるね。 どちらが実体なのか? シェルからは後者を使うことを想定しているようだ。 おや、.zshrc, .bash_profile, .tcshrc (に書き足され|が作られ)ているぞ。 随分勝手なことをするなあ。 それにしても、どうして .tcshrc が作られたのだろう (なぜ私が tcsh 使っていると判断したのか? /etc/shells には他のシェルも登録されていて、 それを見ただけでは分からないだろうに。 tcsh ユーザーが多いと判断して特別扱いしてくれている?)。 設定ファイルを勝手に書き換えられるのは怖い。 私は普段 (c) でやっているのだが、この (b) をインストールすると、 得体のしれない設定になってしまう。 シェルに慣れていない人 (含む私) は混乱しそうだ。
ここはどこ、私は誰?でなくて、 PATH のどこに python がある?シェルからはどのpythonを起動することになる?
where python
which python
(私の場合は where~/opt/anaconda3/bin/python/opt/local/bin/python が見つかり、 which でそのどちらか (case by case) が表示される。)
牧野淳一郎公開日誌 2019/4/13 に色々なシェルをどう設定するか…という話が書いてある。 自分が普段使いしているもの(私の場合は tcsh) は知ってることがありえても、 そうでないとちょっと無理そう。 Mac 標準は bash から zsh に変わって、私も zsh に慣れようと思っているけれど、 前途多難だ。

(2022/4/9追記) 学生は Anaconda Navigator 起動してから、 Jupyter notebook を起動しているけれど、 ターミナルから jupyter notebook としても起動するんだね。 余計なことをしているような気もする。


(c) を他の人に勧める気はあまりないけれど、 自分としては筋が通っていると考えている。 Jupyter ノートブックを使うには、 ターミナルで jupyter notebook とすれば良い。 個人的に MacPorts を使っているのは、以前の現象数理学科 Mac は、 それで統一されていたからだけれど、最近は混沌としている感じがする。


Jupyter notebook だけで足りるか?というのは良く分からない。 一つのファイル (.py) にまとめて、 動くことを確認できるようにしておくべき、と考えている。 テキスト・エディターはなんでも良いけれど、 「使っていない」という人がいたとき、Atom と VS code のどちらを薦めるのかな。 (私は emacs を使っているのだけれど、ちょっと薦める気になれない。)


Anaconda Navigator をインストールしているのならば、 Spyder を使うというのも良い選択肢なのだろうか。 割と気に入った。

Jupyter notebook と Jupyter Lab、どう違うのだろうか。



桂田 祐史