0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pyenv versionコマンドに対して「FATAL: Found ... version before pyenv in PATH.」というエラーが表示され、環境変数の順番を確認しても改善しないときの対処法

Last updated at Posted at 2023-11-15

はじめに

先日pyenvのセットアップをやり直していたところ、表題の問題に遭遇し解決まで少し時間を要したため、ここに書き留めておきます。

注意事項

筆者はプロではありません。書かれている内容について誤りがないように注意は払っていますが、正しさの責任は取れませんので予めご了承ください。

実行時期

2023年11月

環境

Windows11

1. 状態の確認

Windows PowerShellを起動し、以下のコマンドを実行してください。

$Env:PATH

これで環境変数「PATH」の内容が順に表示されるはずです。基本的には「システム環境変数」→「ユーザー環境変数」の順に表示されるはずです。
ここで、以下の2点を確認してください。
なお、PCのユーザー名はuser、「FATAL: Found ...」で表示された「...」の部分のパス名を仮に「\to\error\path」とします。

  1. 「C:\Users\user.pyenv\pyenv-win\shims」または「%PYENV%\shims」と「C:\Users\user.pyenv\pyenv-win\bin」または「%PYENV%\bin」がそれぞれ「\to\error\pathよりも先に書かれていること
  2. 「C:\Users\user.pyenv\pyenv-win\shims」または「%PYENV%\shims」と「C:\Users\user.pyenv\pyenv-win\bin」または「%PYENV%\bin」がそれぞれ2回以上書かれていないこと

上記の条件を確認し、特に2.に違反している場合は2回目以降に登場する同じパスを削除して、それが反映されているか再度$Env:PATHで確認してください。

ここで、上の確認においてPATHの中に「%PYENV%」が一度も登場していない(「C:\Users\user.pyenv\pyenv-win\…」の形で書かれている)のに表題の問題が生じている場合は、申し訳ありませんがこの記事の解決法は使えません。
そうでなはなく、「%PYENV%」がPATHの中に登場した方は、次に進んでください。

2. 対処法

  1. Windows PowerShellを起動し、以下のコマンドを実行してください。
$Env:PYENV
  1. 表示されたパス(デフォルトでインストールしていれば「C:\Users\user.pyenv\pyenv-win」のようなパスが表示されるはず)をコピーしてください。
  2. 環境変数の設定画面を開き、全ての「%PYENV%」を上でコピーした文字列に置き換えてください。例えば「%PYENV%\bin」は「C:\Users\user.pyenv\pyenv-win\bin」のようになります。
  3. 「OK」ボタンで環境変数の設定を閉じて、Windows PowerShellを再度新しく立ち上げ直し、pyenv versionを実行するとエラーが解決されているはずです。解決していないときは$Env:PATHを再度実行し、変更が反映されているか確認しましょう。反映されない場合はPCの再起動を実行するのも一つの手です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?