Pythonの開発環境、IDEは色々ありますが、私はなんだかんだで結局Spyderに落ち着きました。変数エクスプローラーが大変便利で、これなしでデバッグができない体になってしまったので少々重くてもこいつを使っています。
これまではAnaconda入れて使っていたのですが、Anaconda重たいし、使わない機能も多いので縁を切ろうと思います。そこで今回最新のPython環境を作りつつその構築済みの環境でSpyderを使う作業を行ったのでその作業覚書です。
Pythonのインストール
まずはPythonのインストールを行います。Windows環境ですがほかの環境も大きく違わないのではなかろうかと思います。まずダウンロード。ここから欲しいバージョンを選び
このWindowsのインストーラをダウンロードします。
そしてダブルクリックでインストール開始。
”Add python.exe to PATH“のチェックはしといた方がいいと思います。Python本体のインストール自体はこんな感じで終わり。
仮想環境の作成
Spyder用に環境を用意しときます。別にしなくてもいいのでしょうけど。
コマンドラインから適当な場所に移って(画像だとUSER\Python)”python -m venv xxxx“で環境を作ります。
作った環境がこんな感じになります。いろいろライブラリやバイナリが出来上がっています。この環境をベースにします。あっ…。Spyderのスペル間違った…。ダサッ!
試しにこの環境に入って、pipでOpenCVをインストールしてみます。環境に入るには”Scripts\activate.bat“をコマンドから実行します。コマンドプロンプトの先頭に(psyder_env1)と出ているのでうまくいってそうです。
pip install --upgrade pip
でpipそのもののアップデート(今回最新のPython入れたのでアップデートの必要はなさそうです。)
pip install opencv-python
でインストール。
こんな感じでうまい事インストールできたようです。とりあえずベースとなるPythonの環境(Spyder実行用の仮想環境)は出来上がりました。
Spyderのインストール
Spyderのインストーラーをダウンロードします。こいつはpipで入れるわけではないんですねぇ。
このサイトから、Download for Windowsをクリックしてダウンロード。
ダウンロードしたファイルをダブルクリックでSetup。
まぁ普通に次へ次へで問題なさそうです。結構時間がかかりました。トイレでも行ってきてください。
起動させてみます。以前Anaconda経由で使っていた時は日本語表示だったのですが、どうも英語になっております。日本語化します。ここは焦らず騒がず”Preference“から”Application“->”Advenced setting“->”Language“から日本語を選択します。
これで再起動すると見慣れた日本語の表示になります。
コンソールを見るとPythonのバージョンがちょっと古いです。おそらくSpyderに同梱されているPythonのバージョンなのでしょう。せっかく作った先ほどの環境をマウントさせてやりましょう。
”設定“から”Pythonインタープリター“を選んで、Pythonインタープリターを”以下のPythonインタープリターを使う“を選び、先ほどの仮想環境下にあるpython.exeを指定してやります。
これでSpyderを再起動すると…。
なんかでかでかとエラーが出てます。Error while finding module specification for ‘spyder_kernels.console’ (ModuleNotFoundError: No module named ‘spyder_kernels’)との事なので、spyder_kernelsとかってのが足りていないのでしょう。
先ほどのようにコンソールから、
pip install spyder_kernels
結構色々インストールされました。その後Spyderを起動させると…エラーも無く、Pythonのバージョンも先ほど作ったそれになっています。
先ほどこの環境に入れたOpenCVも問題なく使うことができました。
完成です。
まとめ
Anaconda環境を捨てて、シンプルな環境+Spyderって構成を作ってみました。慣れた環境を最新のPythonベースでAnacondaレスで作ることができました。
Visual Studio Codeでも色々やると変数エクスプローラー導入できるらしいです。VSCodeでもいいんですけどね。試してみようかな…。
とはいえこれだけの作業でこの環境が作れるのならそれで十分かな。
コメント