Translate

【spyder】普段sypderを使っていて突然開けなくなった。その原因は環境構築にあり。。。 【python】

 こんにちは、

pythonを扱うときには、パッケージ管理としてAnacondaを使うのは一番ポピュラーな手段であると思います。しかしながら、いろいろとパッケージを入れていく過程で依存関係が壊れてしまってうまく動かなくなることがよくあります。


私が経験した中で最もよくパッケージのインストール関係で環境をぶっ壊したことがあるが、Anacondaにデフォルトでついているpythonの統合開発環境Spyderです。


今回はこのSpyderがパッケージのダウンロードで動かなくなってしまったときにトラブルシューティングについて書いていこうと思います。


Spyderが起動しない現象



Spyderが起動しない現象とは具体的にどのようなことが起きているのでしょうか。私のケースで紹介していきます。

私の場合には、過去の記事で紹介した位置推定の機械学習アルゴリズムのDeeplabcutのpython環境構築の際に発生しました(https://himahimaknowledge.blogspot.com/2023/07/deeplabcutdeeplabcutpython.html)。Deeplabcutの環境構築をした際にいろいろとパッケージを足したり、消したりしてパッケージ間の依存関係がおかしくなってしまったのが主な原因だと思います。

私はSpyderに関してはショートカットのアイコンをデスクトップにおいてそこをクリックしてpythonコードを編集しているのですが、そのアイコンを押しても全く反応しなくなってしまいました。

コマンドラインを開いてみるとPyQt5周りでエラーを吐いている模様

こういう場合にはコマンドライン(Anaconda Prompt)から直接spyderを起動するプロセスを踏むことで、仮に起動しなくてもエラーのログが残るので、原因を特定しやすくなります。これに関しては他のエラーが発生するGUIについても共通なので覚えておくとよいかもしれません。

そこで実際にエラーログを見てみるとなにやらPyqt5のウィジェットが悪さをしている感じでした。

とりあえずPyQt5とSpyderをアンインストールして再度インストール。私の場合にはこれで解決しました。

とりあえずSpyderの依存関係を復活させるためには、原因になっているパッケージそのものとSpyder本体を消して再度インスト―ルする必要があると判断して実行。コマンドは例の通りAnaconda Promptでconda unisntall ○○でオーケー。

上記の処理を実行して再度Anaconda PromptでSpyderを起動。無事にSpyderの起動画面がスタートして事なきを得ました。

これはあくまでも私の環境構築のケースの場合になので、必ずしも同じ過程で解決するとは限らないので、そこは御了承ください。


環境構築はちゃんと専用の仮想環境を作ってからやりましょう。

とくに機械学習のニッチなパッケージを入れようとするとこういった依存関係のエラーが非常に起こりやすいです。私も仮想環境を何度もぶち壊した経験があります。

こういった被害を避けるためにも、普段よく使ってpythonの環境構築はしっかりとバックアップを取っておく、もしくは新しい手法とか難しそうなパッケージを使って環境構築を行う際には、しっかりと新規の仮想環境を構築してからやることを強くお勧めします。