エラー内容
環境:Win10
Visual Studio でインストールしたPython (Anaconda) をアンインストールし、Python.orgのインストーラを使ってPythonを再導入した際に発生したエラーです。
なお、Python.orgのインストーラだけでなくMiniconda でも同じエラーが発生しました。
具体的には、コマンドプロンプト / Anaconda Prompt でpythonのスクリプトやインタプリタを実行しようとしても実行できませんでした。
その際には下記のメッセージが表示されました。
Python path configuration: PYTHONHOME = 'C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64' PYTHONPATH = (not set) program name = 'python' isolated = 0 environment = 1 user site = 1 import site = 1 sys._base_executable = 'C:\\Python\\Python38\\python.exe' sys.base_prefix = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64' sys.base_exec_prefix = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64' sys.executable = 'C:\\Python\\Python38\\python.exe' sys.prefix = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64' sys.exec_prefix = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64' sys.path = [ 'C:\\Python\\Python38\\http://python38.zip', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64\\DLLs', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Anaconda3_64\\lib', 'C:\\Python\\Python38', ] Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named 'encodings'
どうやら Visual Studioで導入したAnacondaの設定がどこかに残っていたようです。
念のため、見つけられた範囲でVisual StudioやAnaconda関係のファイル・フォルダを再確認・削除しましたが、状況は変わりませんでした。
解決策
PYTHONHOME = 'C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64'
となっているのが原因と考え、試しにコマンドプロンプトで
set PYTHONHOME=
と入力して環境変数を消去したあとにPythonを実行してみたところ、正常に動きました。
しかしこの方法だとコマンドプロンプトを開くたびに毎回環境変数を消去する必要があります。
そこで、PYTHONHOME
をシステム環境変数に新規作成しました。
具体的には、python.exe
がC:\\Python\\Python38\\python.exe
にある場合、
- PYTHONHOME: ```C:\\Python\\Python38``` - PYTHONPATH: ```C:\\Python\\Python38```
というシステム環境変数を新規作成*1したところ、問題なく動作しました。
*1:コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数 環境変数の設定方法(Windows) - IT入門書籍 スッキリシリーズ