Spyder のセットアップ

UB3/informatics/python/spyder_setup

このページの最終更新日: 2023/10/01

  1. 概要: Spyder とは
  2. Spyder で使用する Python の設定
  3. ショートカットの設定

広告

概要: Spyder とは

Python はターミナルから使うことができる。"Python" を実行するとプロンプトが >>> に変わり、Python のコマンドを実行できるようになるのだが、これは少し不便なので、R の RStudio に相当するような IDE を使いたい。

Spyder というのが良さそうだったので、現在はこれを使っている。

Spyder Mac パス

Spyder で使用する Python の設定

Spyder を最初に使うときに、このパッケージ管理の問題に直面した。つまり、Mac の中に複数の Python が存在してしまい、ターミナルからインストールしたパッケージを Spyder で利用できない という問題である。よくある問題のようだ (参考)。

conda 使用の場合

Mac には Python が既にインストールされている。まず、ターミナルで

python3 --version

とするとバージョンがわかる。また、

which python3

とすると実行される Python のパスが表示される。usr/bin/python3 がデフォルトだと思うのだが、conda 使っていた Mac では /Users/username/Documents/miniconda3/bin/python3 となっていたこともあった。まずは conda の場合を解説。

Spyder を開くと、画面の右下に internal (Python 3.9.12) のような表示がある。これはインタープリターと呼ばれ、Spyder から実行される Python のこと。Spyder とともにインストールされた Python が走っているようである。

Spyder Mac インストール

Spyder で

import sys;print(sys.prefix)

を実行すると、/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 で読み込めるようになるはず。

Spyder Mac パス

ところが、これは 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 に切り替えてみる。

Spyder Mac インタープリターの切り替え

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 を使った場合、

which python3

で usr/bin/python3 が表示された。この場合のセットアップ方法。

まずは Setting から Python interpreter を usr/bin/python3 に変更、Spyder を再起動。するとこのエラー。

Spyder Mac kernelエラー

pip もインストールされていなかったので、とりあえず brew install pip をするが、これはダメ。pip is part of the python formula: brew install python というメッセージが。

しかし、これを実行すると新しい python がインストールされてしまいそうなので、このページ に従って次の処理を実行。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
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 にした。

Spyder ショートカットの変更
広告

References

  1. ページ分割に伴い削除
  2. Issue adding site-packages directory to PYTHONPATH in Spyder. Link: Last access 2022/11/18.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。