Spyder のセットアップ
UB3/informatics/python/spyder_setup
このページの最終更新日: 2024/10/12広告
概要: Spyder とは
Python はターミナルから使うことができる。"Python" を実行するとプロンプトが >>> に変わり、Python のコマンドを実行できるようになるのだが、これは少し不便なので、R の RStudio に相当するような IDE を使いたい。
Spyder というのが良さそうだったので、現在はこれを使っている。
Spyder で使用する Python の設定
Spyder を最初に使うときに、このパッケージ管理の問題に直面した。つまり、
conda 使用の場合
Mac には Python が既にインストールされている。まず、ターミナルで
とするとバージョンがわかる。また、
とすると実行される Python のパスが表示される。usr/bin/python3 がデフォルトだと思うのだが、conda 使っていた Mac では /Users/username/Documents/miniconda3/bin/python3 となっていたこともあった。まずは conda の場合を解説。
Spyder を開くと、画面の右下に internal (Python 3.9.12) のような表示がある。これはインタープリターと呼ばれ、Spyder から実行される Python のこと。Spyder とともにインストールされた Python が走っているようである。
Spyder で
を実行すると、/Applications/Spyder.app/Contents/Resources という結果が返ってくる。これが Spyder で走っている Python のパスのようだ。下記の Interpreter の設定では /Applications/Spyder.app/Contents/MacOS/python/ となっており、import sys;print(sys.prefix) はパスの一部しか表示しないようである。
これがターミナルのものと違うので、ターミナルで pip や conda で入れたパッケージは、Spyder では読み込めないということになってしまう。インストールのパスは、例えば ~/Documents/miniconda3/lib/python3.9/site-packages となる。この site-packages というのは、パッケージの保存場所として一般的な名前のようだ。
まず、この site-packages を Spyder から参照することを試みた。Tools に PYTHONPATH manager というのがあり、ここに違う Python の site-packages を入れれば、Spyder で読み込めるようになるはず。
ところが、これは This directory cannot be added to the path! If you want to set a different Python interpreter, please go to Preferences > Main interpreter. というエラーとなる。
これは、2 つの Python を mix しないように、開発チームがそのように設定しているようだ (1)。
このエラーメッセージで推奨されている通り、インタープリターを Mac の方の Python に切り替えてみる。
Python のメイン画面の表示も conda:base (Python 3.9.12) に変わる。念のため、Spyder を再起動する。
すると今度は、/Users/username/Documents/miniconda3/bin/python: Error while finding module specification for 'spyder_kernels.console' (ModuleNotFoundError: No module named 'spyder_kernels') というエラー。おそらく、Spyder から Python を実行するには spyder_kernels というモジュールが必要と思われる。
ターミナルから pip install spider-kernels と pip install --upgrade pip を実行。文献 1 に多少の説明あり。既に知られている問題のようだ。
これにより上記のエラーは消え、ターミナルからインストールしたパッケージを Spyder で読み込めるようになる。
import sys;print(sys.prefix) とすると /Users/username/Documents/miniconda3 のようになり、ちゃんと miniconda3 内の Python が使われていることがわかる。
Anaconda Navigator をインストールし、Spyder の Python にパッケージを入れていくという手もあるようだ (参考)。しかし、ターミナルを頻繁に使う以上、そちらの Python を基本としてやっていくのが良いのではないかと思う。
Mac デフォルトの python を使用する場合
2023 年 9 月に新しい Mac を使った場合、
で usr/bin/python3 が表示された。この場合のセットアップ方法。
まずは Setting から Python interpreter を usr/bin/python3 に変更、Spyder を再起動。するとこのエラー。
pip もインストールされていなかったので、とりあえず brew install pip をするが、これはダメ。pip is part of the python formula: brew install python というメッセージが。
しかし、これを実行すると新しい python がインストールされてしまいそうなので、このページ に従って次の処理を実行。
python3 get-pip.py
これで pip がインストールされた。パスは /Users/username/Library/Python/3.9/bin であり、ここには パスが通っていない というメッセージも出たので、このフォルダにパスを通す。
pip install spyder-kernels==2.4.* はエラーになるが、pip install spyder-kernels==2.4.0 とすると動く。これをターミナルで実行して、Spyder を再起動。
ショートカットの設定
ほとんんどのショートカットに異存はないのだが、R Studio に慣れているせいか、「その行を実行する」のショートカットが使いにくい F9 なのを修正。私はよっぽど自明な内容でない限り、1 行ずつ確認しながら script を書いていくので。
Preferences から Keyboard shortcuts を選び、F9 に設定されているところを Command + Enter にした。
広告
References
- ページ分割に伴い削除
- Issue adding site-packages directory to PYTHONPATH in Spyder. Link: Last access 2022/11/18.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。