Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

Python (Anaconda) の再インストール後に起動しないエラーへの対処(環境変数の設定)

f:id:Kurene:20220205205517p:plain:w500

エラー内容

環境: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.exeC:\\Python\\Python38\\python.exeにある場合、

- PYTHONHOME: ```C:\\Python\\Python38```
- PYTHONPATH: ```C:\\Python\\Python38```

というシステム環境変数を新規作成*1したところ、問題なく動作しました

*1:コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数 環境変数の設定方法(Windows) - IT入門書籍 スッキリシリーズ