JP / EN

広告
2025/01/15

Pyenv使用中にpythonが消えたがrehashで直った

タグ:python

ある日いつものようにpythonをWindowsのコマンドプロンプトから使おうとしていると、 なぜかWindows Storeに飛ばされるようになってしまった。
どうもWindows Updateが原因だったようで、Windowsの設定でストアアプリのPythonを無効にすることで 飛ばされなくはなったのだが今度は、
    $ python
    'python' is not recognized as an internal or external command,
    operable program or batch file.
  
のようにpythonが消えてしまっていることに気づいた。
pyenv-winでPythohn環境を作っていたので、Windowsストアの暴挙により設定がおかしくなってしまったようだ。

こういうときはpyenv rehashコマンドを用いてpyenv内のpythonバイナリの再構成を行うと直ることが良くある。
実際にはこのように試行錯誤して直した
    $ pyenv versions
    * 3.10.5 (set by C:\Users\user\.pyenv\pyenv-win\version)
      3.8.0
      3.9.13

    $ ls C:\Users\[ユーザ名]\.pyenv\pyenv-win\shims
    # 何も入っていない、おれはおかしい

    $ pyenv rehash
    # 何も出ないが正常に終了したようだ

    $ python
    Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    # 直ってpythonが起動
  


動作確認した環境

  • Windows 10 Professional
  • pyenv 3.1.1
  • Python 3.10.5 (pyenv内で使用)


おすすめ記事

ポケモン タイプ相性の倍率データ in Python

"\ufeff"から始まるBOM付uftをPythonで読み込む

Pythonからシェルコマンドをsubprocessとして呼びだす



このエントリーをはてなブックマークに追加

https://wonderhorn.net/