読者です 読者をやめる 読者になる 読者になる

ponkiti's blog

主に自分用、イベント参加メモや備忘録として利用

pyenvはインストール済みだが、pyenvコマンドが効かない

pyenvを使おうとしたところ「command not found」と出てしまったので、入れ忘れかなとインストールを試みた。しかし、インストール済みだというメッセージが・・・。

$ brew install pyenv
Warning: pyenv-20140705 already installed

PATHが通ってないと思われるので、下記リンクの項目2を参照してPATHを通す。 https://github.com/yyuu/pyenv/blob/master/README.md#basic-github-checkout

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

自宅PCは.bash_profileに記述してあったのだけれど、会社PCは何故か.bashrcにPATHの記述を入れていたので、今回は.bashrcに追加した。.bashrcに下記が追加されていることを確認する。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

sourceコマンドで実行する。

$ source ~/.bashrc

PATHが通っているかを確認する。

$ pyenv
-bash: pyenv: command not found

あれ?まだpyenvが効かない。とりあえずbrew doctorしてみる。

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Your Homebrew is outdated.
You haven't updated for at least 24 hours. This is a long time in brewland!
To update Homebrew, run `brew update`.

Homebrewが古いというメッセージが出てしまった。というわけでbrew updateする。

$ brew update
Updated Homebrew from 6908f0e8 to 9699357c.
(省略)

再度brew doctorしてみると、今度はXQuartzのアップデートが必要らしい。確かに自宅PCの方でも最近アップデートしたような気がする。

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Your XQuartz (2.7.6) is outdated
Please install XQuartz 2.7.7:
  https://xquartz.macosforge.org

「今後、アップデートのダウンロードとインストールを自動で行う」にチェックが入っていなかったので、チェックを入れておく。これで次回は問題ないだろう。

f:id:pyoonn:20140924153203p:plain

XQuartzをアップデートし、三度目のbrew doctor。

$ brew doctor
Your system is ready to brew.

まだコマンドが効かないようだ。

$ pyenv
-bash: pyenv: command not found

updateはしたが、upgradeはしていなかったことを思い出したので、brew upgradeしておく。

$ brew upgrade
==> Upgrading 6 outdated packages, with result:
(省略)

さて、今度はできそう?

$ pyenv
pyenv 20140825
(省略)

というわけでやっとコマンドが効きました!

会社PCのMac OSをMountain LionからMavericksにアップグレードしたのと、元々pyenvのPATHを通していなかった、homebrewをupdate&upgradeしていなかったのが原因のようです。PATHを通してなかったのは酷い・・・。PATHは追加したがsourceコマンドを実行するのを忘れる、なんてこともよくあるので気をつけたい。