[Poetry] ModuleNotFoundError: No module named ‘encodings’のエラーの対処法

error
ユウ
ユウ

タイトルのエラーが出て困ったので、対処法をメモしておきます。

環境

  • Mac OS Sonoma 14.1.1

エラー内容

poetry new poetry --versionを実行したところ、以下のエラーが発生しました。

% poetry new poetry_test
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = '/Users/ユーザー名/Library/Application Support/pypoetry/venv/bin/python'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = '/Users/ユーザー名/Library/Application Support/pypoetry/venv/bin/python'
  sys.base_prefix = '/Users/ユーザー名/.pyenv_x86/versions/3.10.9'
  sys.base_exec_prefix = '/Users/ユーザー名/.pyenv_x86/versions/3.10.9'
  sys.platlibdir = 'lib'
  sys.executable = '/Users/ユーザー名/Library/Application Support/pypoetry/venv/bin/python'
  sys.prefix = '/Users/ユーザー名/.pyenv_x86/versions/3.10.9'
  sys.exec_prefix = '/Users/ユーザー名/.pyenv_x86/versions/3.10.9'
  sys.path = [
    '/Users/ユーザー名/.pyenv_x86/versions/3.10.9/lib/python310.zip',
    '/Users/ユーザー名/.pyenv_x86/versions/3.10.9/lib/python3.10',
    '/Users/ユーザー名/.pyenv_x86/versions/3.10.9/lib/lib-dynload',
  ]
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'

Current thread 0x000000020284b240 (most recent call first):
  <no Python frame>

対処法

私の場合、以下の手順でエラーを解消できました。

  1. 下記にあるPoetryのシンボリックリンクを削除する(もしあれば)
    • /Users/ユーザー名/.local/bin/
  2. Poetryを再インストールする

詳細

上記のエラーが発生しました。

Poetryを再インストールしようと思い、まずはPoetryのアンインストールを試みました。

下記コマンドを実行したところ、Poetryがインストールされていないようでした。いつのまにかPoetryがアンインストールされていたようです。

% curl -sSL https://install.python-poetry.org | python3 - --uninstall
Poetry is not currently installed.

一方、whichコマンドでPoetryコマンドの場所を調べたところ、以下のようになりました。

% which poetry
/Users/ユーザー名/.local/bin/poetry

上記にあるPoetryのシンボリックリンクをクリックしたところ、上記と同様のエラーが発生しました。

そこで、Poetryのシンボリックリンクを削除しました。

また、下記コマンドでPoetryを再インストールしました:

curl -sSL https://install.python-poetry.org | python3 -

すると、バージョンを無事確認することができました。

% poetry --version
Configuration file exists at /Users/ユーザー名/Library/Preferences/pypoetry, reusing this directory.

Consider moving TOML configuration files to /Users/ユーザー名/Library/Application Support/pypoetry, as support for the legacy directory will be removed in an upcoming release.
Poetry (version 1.7.1)

参考

Poetryの公式ドキュメント

プロフィール
この記事を書いた人

30代半ばで未経験でプログラマーに転職し、日々奮闘中です
プログラミング、AI、NLP、キャリア関連などで少しでも役に立てる情報を発信していきます

ユウをフォローする
errorPython
ユウをフォローする

コメント

タイトルとURLをコピーしました