anyenv環境でpyenvインストール後にハマったのでメモ

発電状況監視システムのような、何か簡単なWebシステムを作りたくなった時、Ruby on railsがあると楽に組めるだろうか?rubyも勉強してみようか?

なんて考え始めると、複数バージョンのインタプリタを管理できるrbenvを入れておきたくなる。

同様に、pythonにもpyenvというものがある。最近流行りのnodejsにもndenvというものがある。名前が似ているだけでなく、使い方もほぼ同じ。

ということは、これらを一括管理する方法があるのでは?と思ってググったらありました。anyenvです。

インストール手順は上のリンク先を見れば分かりますが、一応解説。

anyenvコード取得

homeディレクトリ下にanyenvコードをcloneします。


anyenv環境設定

homeディレクトリ下の.bash_profileにanyenv環境設定して、shellを再起動する。

bash以外のshellを使う方は適宜読み替えてください。

anyenv動作確認

以下のようにコマンドを実行すると、使用可能なenv系ツールをリストアップしてくれます。

…Go, Lua, Scalaにも同様のツールが存在することを、ここで初めて知りました。

anyenv環境下のpyenvへのプラグイン導入

virtualenvプラグインも、以下のようにすれば導入できます。


トラブルシューティング

こんなに簡単な導入手順なのに、何故かハマりました。

pyenv global 3.5のようにコマンド実行しても、pythonバージョンが切り替わらないのです。

いろいろググってみると、どうも事前にpyenvを導入してuninstallした際、pyenvの設定ファイルが中途半端にhome下に残っていたのが原因であることが判明しました。1

pyenvのバージョン選択はまず、pyenv shellで設定されるPYENV_VERSION環境変数。
次に、pyenv localで設定できる、カレントディレクトリにある.python-versionファイル。
次に、pyenv global で設定できる~/.pyenv/versionファイル。
全てがなかったらsystemのpython。

既にpyenvインストール済みだった人は上記のファイルを全て削除しておきましょう。

スポンサーリンク

シェアする

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

フォローする