Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
本日未明、Atom上でPythonのファイルを開いて実行しようとしたらエラーメッセージ「ImportError: DLL load failed while importing error: �w�肳�ꂽ���W���[����������܂���B」が表示され、Pythonが実行できなくなりました。
今は無事に解決しているのですが、いろいろ調べて時間がかかりました。今回は私が遭遇した問題と解決法を書いておきます。
Contents
まず私の環境ですが、
となります。VSCodeも導入しているのですが、確かにAtomに比べて軽いといえば軽いですが、どうもAtomに慣れてしまったせいか使いにくく感じています。まぁしょせんは慣れの問題ですが。したがって基本Atomばかり使っています。
今回私が最初に遭遇したエラーメッセージは次のようなものでした。
ImportError: DLL load failed while importing error: �w�肳�ꂽ���W���[����������܂���B
これはAtom+Hydrogenで、自作のPythonプログラムを実行しようとしたときに登場しました。
環境によっては文字化けしないと思いますが、私の環境下ではこのように文字化けしたメッセージでした。
まぁとにかく、DLLというものが読み込みに失敗しているわけです。
そして同時にAnaconda NavigatorがWindowsスタートメニューのアイコンから起動できなくなっていました。
ただJupyter Notebookそのものは単独でコンダプロンプトから立ち上げることができていました。
また後述しますが、解決策を進めていくうちに今度は、PythonのモジュールであるNumpyでもエラーメッセージが出ました。
DLL load failed while importing _multiarray_umath:指定されたモジュールが見つかりません。
あくまで私の場合はという条件付きの解決策を紹介します。次の①~④の順番で進めていくと解決しました。
まず上の①と②を解決するためにいろいろネット上を調べみると、結局のところ、Anacondaそのものを完全にアンインストールして再インストールし直すのが一番てっとり早く、確実そうだと感じました。
しかし、それも面倒だなと思ってもうちょっと調べてみると、「Anaconda Navigatorそのものをアップデートすると良い」という情報がありました。
そこで、コンダプロンプト上にて、
conda update anaconda-navigator
と打ち込み、アップデートをしました。これが終わると、続けて、以下のコマンドを打ち込んだほうが良いとの情報があったのでそれに従い、
anaconda-navigator --reset
と入力してAnaconda Navigatorのキャッシュ(?)などを一度白紙にしました。
しかし、これだけでは症状は解決しませんでした。
そこで再び「やっぱりAnacondaと現在のPythonなどをアンインストールして、ゼロから環境を構築しなおすか・・・(溜息)」と思ったのですが、ここでも調べてみると、Anacondaそのものをアップデートして治ったという情報もあったので、藁にも縋る思いで実行してみました。
コンダプロンプトでAnacondaそのもの(全体?)をアップデートするには次のように入力します。
conda update -n base conda
私の場合は少し時間がかかりました。といっても10分かからないぐらいだったでしょうか。
ただ、途中で処理が止まるのではないかと不安になりながら、大人しくコンダプロンプト上で完全に処理が終わるまでじっと待ちました。
そして無事に終わりました。
Anacondaのアップデートが無事に終わったので、Atomを立ち上げPythonを実行すると、今度はpandasモジュール、numpyモジュールでエラーが出ました。
それが上(2)③の、
DLL load failed while importing _multiarray_umath:指定されたモジュールが見つかりません。
というものでした。
そしてこれも解決策をネットで調べてみると、システムの環境変数にパスが通っていないことが原因というような情報があり、解決策としてシステムの環境変数のパスに、
C:\Users\ユーザー名\Anaconda3\Library\bin
を追加すると良いとの情報がありました。
上の「ユーザー名」のところはみなさんの環境に合わせて変更してください。
しかし私の場合は環境変数に上のパスを追加してもそれだけではエラーが解消しませんでした。
そこで私が思い出したのは以前このブログで書いた「【Atom+Anaconda+Hydorgen(atom-runner)】Windows10の環境変数を設定してもエラーが出るときの解決方法」という記事です。
Windowsでは昔から環境変数のパスをいじったときは再起動をするのが作法(?)でした。
そこでWindowsを再起動。
そしてその後にAtomを立ち上げPythonを実行すると無事にこれまで通りに動きました。めでたしめでたしです。
以上、あくまで私の場合の解決法でしたが何かの参考になればと思います。