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 3 years have passed since last update.

pyenvの再インストール

Posted at

はじめに

pyenvでpython環境を整えていたが、正常に動作しないので再インストールすることにした。具体的には、新しく異なるバージョンのpythonをインストールして、global環境をそれに切り替えても、systemのpythonを参照してしまう。以下に状況を記録しておく。

terminal
$pyenv global X.Y.Z
$pyenv global
>> X.Y.Z
$which python
>> ~/.pyenv/shims/python
$python --version
>> python A.B.C

今まではきちんと動作していたし、元々インストールしていたpythonバージョンへの切り替えも問題なく行える。
色々調べてみたが記事が見当たらなかったので、TimeMachineで状態を保存しつつ、思い切って再インストールしてみることにした。

環境

macOS: Catalina 10.15.7
xCode: version 12.4

準備

terminal
$brew doctor
$softwareupdate --all --install --force

一応、brewを確認。Warning: A newer Command Line Tools release is available.と出たので、softwareupdateでアップデートする。
しかし、Command Line Toolはアップデートされなかったので、以下の手順でアップデートする。

terminal
$sudo rm -rf /Library/Developer/CommandLineTools
$sudo xcode-select --install

うまくアップデートされた。
さらにここを参照してHomebrewの環境も整える。

terminal
$brew install openssl readline sqlite3 xz zlib

この時点で、zlibがinstallされていなかったことに気付く。
これが原因できちんと動作していないのかと思ったが(実際、新しくpyenv install x.y.zで正しくインストールされていなかった)、問題解決には至らず、結局systemのpythonを参照してしまう。

この時点で、timemachineで状態を保存しておく。

アンインストール

ここを参照しつつアンインストール。

terminal
$rm -rf $(pyenv root)
$brew uninstall pyenv

インストール

ここを参照してインストール。

terminal
$brew update
$brew install pyenv

環境設定

ここを参照して.bash_profile.bashrcに以下を書き込む。

.bash_profile
# export PYENV_ROOT="$HOME/.pyenv"
# export PATH="$PYENV_ROOT/bin:$PATH" <- These two lines are not needed if pyenv is installed with Homebrew.
eval "$(pyenv init --path)"
.bash_rc
if command -v pyenv >/dev/null; then eval "$(pyenv init -)"; fi                                                                                                                                           

最終的に

残念ながら状況は改善されなかった。ただ、pythonコマンドがpython2を参照にしているのが原因なのは分かった。例えば、pyenv global 3.X.Yと打った場合、python3はバージョン3.X.Yに変更されている。解決策が見つかるまで、python3とかpip3として、やることにする。

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?