Anaconda Navigatorが起動しなくなり、Anaconda上のPythonが動かなくなったときの解決法

Anaconda Navigatorが起動せず、Pythonも実行できなくなった場合の解決法

本日未明、Atom上でPythonのファイルを開いて実行しようとしたらエラーメッセージ「ImportError: DLL load failed while importing error: �w�肳�ꂽ���W���[�������‚���܂���B」が表示され、Pythonが実行できなくなりました。

今は無事に解決しているのですが、いろいろ調べて時間がかかりました。今回は私が遭遇した問題と解決法を書いておきます。

(1) 私の環境

まず私の環境ですが、

  • Windows10
  • エディタでAtom
  • AtomのパッケージとしてHydrogen
  • Anaconda(もちろんJupyter Notebook)

となります。VSCodeも導入しているのですが、確かにAtomに比べて軽いといえば軽いですが、どうもAtomに慣れてしまったせいか使いにくく感じています。まぁしょせんは慣れの問題ですが。したがって基本Atomばかり使っています。

(2) エラーの内容

①Atom+Hydorgenでのエラー出現

今回私が最初に遭遇したエラーメッセージは次のようなものでした。

ImportError: DLL load failed while importing error: �w�肳�ꂽ���W���[�������‚���܂���B

これはAtom+Hydrogenで、自作のPythonプログラムを実行しようとしたときに登場しました。

環境によっては文字化けしないと思いますが、私の環境下ではこのように文字化けしたメッセージでした。

まぁとにかく、DLLというものが読み込みに失敗しているわけです。

②Anaconda NavigatorがWindowsスタートメニューのアイコンなど起動しなくなっていた

そして同時にAnaconda NavigatorがWindowsスタートメニューのアイコンから起動できなくなっていました。

ただJupyter Notebookそのものは単独でコンダプロンプトから立ち上げることができていました。

③Numpyのエラー

また後述しますが、解決策を進めていくうちに今度は、PythonのモジュールであるNumpyでもエラーメッセージが出ました。

DLL load failed while importing _multiarray_umath:指定されたモジュールが見つかりません。

解決方法

あくまで私の場合はという条件付きの解決策を紹介します。次の①~④の順番で進めていくと解決しました。

①Anaconda Navigatorのアップデート

まず上の①と②を解決するためにいろいろネット上を調べみると、結局のところ、Anacondaそのものを完全にアンインストールして再インストールし直すのが一番てっとり早く、確実そうだと感じました。

しかし、それも面倒だなと思ってもうちょっと調べてみると、「Anaconda Navigatorそのものをアップデートすると良い」という情報がありました。

そこで、コンダプロンプト上にて、

conda update anaconda-navigator

と打ち込み、アップデートをしました。これが終わると、続けて、以下のコマンドを打ち込んだほうが良いとの情報があったのでそれに従い、

anaconda-navigator --reset

と入力してAnaconda Navigatorのキャッシュ(?)などを一度白紙にしました。

しかし、これだけでは症状は解決しませんでした。

②Anaconda全体のアップデート

そこで再び「やっぱりAnacondaと現在のPythonなどをアンインストールして、ゼロから環境を構築しなおすか・・・(溜息)」と思ったのですが、ここでも調べてみると、Anacondaそのものをアップデートして治ったという情報もあったので、藁にも縋る思いで実行してみました。

コンダプロンプトでAnacondaそのもの(全体?)をアップデートするには次のように入力します。

conda update -n base conda

私の場合は少し時間がかかりました。といっても10分かからないぐらいだったでしょうか。

ただ、途中で処理が止まるのではないかと不安になりながら、大人しくコンダプロンプト上で完全に処理が終わるまでじっと待ちました。

そして無事に終わりました。

③Numpyにエラー。Windowsの環境変数に「C:\Users\ユーザー名\Anaconda3\Library\bin」というパスを追加

Anacondaのアップデートが無事に終わったので、Atomを立ち上げPythonを実行すると、今度はpandasモジュール、numpyモジュールでエラーが出ました。

それが上(2)③の、

DLL load failed while importing _multiarray_umath:指定されたモジュールが見つかりません。

というものでした。

そしてこれも解決策をネットで調べてみると、システムの環境変数にパスが通っていないことが原因というような情報があり、解決策としてシステムの環境変数のパスに、

C:\Users\ユーザー名\Anaconda3\Library\bin

を追加すると良いとの情報がありました。

上の「ユーザー名」のところはみなさんの環境に合わせて変更してください。

しかし私の場合は環境変数に上のパスを追加してもそれだけではエラーが解消しませんでした。

④Windowsマシンを再起動

そこで私が思い出したのは以前このブログで書いた「【Atom+Anaconda+Hydorgen(atom-runner)】Windows10の環境変数を設定してもエラーが出るときの解決方法」という記事です。

Windowsでは昔から環境変数のパスをいじったときは再起動をするのが作法(?)でした。

そこでWindowsを再起動。

そしてその後にAtomを立ち上げPythonを実行すると無事にこれまで通りに動きました。めでたしめでたしです。

以上、あくまで私の場合の解決法でしたが何かの参考になればと思います。

やっぱりプログラミングは独学だとわかりにくいですよね、そこでスクールや動画による解説を利用しましょう!

Tech Academy

厚切りジェイソンのCMでおなじみのプログラミングスクール。自宅でオンライン受講OK。現役のプロが一人一人に専属メンターになってくれ、質問すればすぐに回答。転職保証あり

Udemy

世界最大級のオンライン学習動画サービス。AI・データサイエンスなど最先端のプログラミング講座からビジネススキル講座まで10万以上の講座から選び放題。講師に掲示板から直接に質問もできる。