Windows側にpyenv-winがインストールされている場合、トラブルが発生する可能性があります。その他、Pythonが実行できない場合には、以下の対処方法を参考にしてください。Pyenv-winが原因と思われる場合は、以下の対処方法を試してみてください。
Ubuntu上でPythonが実行できない問題
catnip@your_pcname:~/codex-test$ python
-bash: /mnt/c/Users/user_name/.pyenv/pyenv-win/shims/python: /bin/sh^M: bad interpreter: No such file or directory
^Mが表示される。 → 改行コードが原因の可能性
対処1)以下のコマンドでスクリプトの改行コードを修正する
# 改行コードをLFに変換
sed -i 's/\r$//' /mnt/c/Users/user_name/.pyenv/pyenv-win/shims/python
ダメだった場合は次の対処・・・。
対処2) Pyenvを再設定
Pyenvを再設定してみる
# パスを再設定
pyenv rehash
pyenv global <インストールしたいPythonのバージョン>j
対処3) Pythonを再インストール
もし上記でも動かない場合、Pythonを再インストールする
# 必要なパッケージをインストール
sudo apt update
sudo apt install python3 python3-pip
対処4) WSL用のpyenvを再インストールする
pyenv-win
はWindows向けのツールだから、Linux向けのpyenv
を使う
# 古いpyenvの削除(Windowsのパスを削除)
rm -rf ~/.pyenv
# Linux用pyenvのインストール
curl https://pyenv.run | bash
# pyenvのパスを~/.bashrcに追加
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
# 設定を反映
source ~/.bashrc
# Pythonのバージョンをインストールして確認
pyenv install --list #インストール可能なPythonバージョンを調べる
pyenv install 3.10.17 # 必要なPythonバージョン
pyenv global 3.10.17
python --version
対処4.1) 依存ライブラリが足りない状況の時は必要なライブラリをインストール
sudo apt update
sudo apt install -y \
make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev \
wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev
参考資料
よくあるビルドの問題
https://github.com/pyenv/pyenv/wiki/Common-build-problems
Pyenvの再インストール
pyenv install 3.10.17
pyenv versions #バージョンの確認
pyenv global 3.10.17 #グローバルで使用するバージョンを設定する
python --version #最後にバージョンが正しく切り替わったか確認する
コメント