pyenvでバージョンが切り替えられなくて苦労した話
8月 10, 2015
python
,
開発環境
2 件のコメント
https://blog.kyabe.net/2015/08/pyenv.htmlpyenvでバージョンが切り替えられなくて苦労した話
2016/7/7追記
pythonを呼び出すときに優先してpyenvのpythonを呼び出すように初期化するコマンドを実行してみるといいかもしれません。eval "$(pyenv init -)"
これを実行して直ったら下記の手順を踏まなくても大丈夫ですね。
pyenvで指定したpythonが起動しない
ここまでのあらすじ
- pyenvインストールしたった!
- yyuu/pyenvリポジトリのreadmeの通りにPATH通したった!
- いくつか違うバージョンのpythonインストールしたった!
意気揚々と使い出すがしかし……
$ python local 3.4.3
でバージョン指定したった!$ python -V
(エンターキーターン!!)Python 2.7.10
- あれ?3.4.3指定したのに
- 一応globalも指定してみて試すか
$ python global 3.4.3
$ python -V
今度こそ!(エンターキーターン!!)Python 2.7.10
/\___/ヽ ヽ
/ ::::::::::::::::\ つ
. | ,,-‐‐ ‐‐-、 .:::| わ
| 、(o),: (o), :::|ぁぁ
. | ::< .::|あぁ
\ /( [三] )ヽ ::/ああ
/`ー‐–‐‐―´\ぁあ
確かな力が身につくPython「超」入門 (確かな力が身につく「超」入門シリーズ)
posted with amazlet at 16.08.26
SBクリエイティブ (2016-03-16)
売り上げランキング: 19,659
売り上げランキング: 19,659
解決編
怪しかったところ
なんでうまくいかないのかと、とりあえず$ which python
実行すると、usr/local/bin/python
が返ってきた。~/.pyenv
を通ってないのはおかしい。HomebrewでインストールしたPythonのせいだった
さっき返ってきたusr/local/bin/python
っていうのは昔Homebrewでインストールしたpythonだったんですね。brew list
したらやっぱりいました。ということで
$ brew uninstall python
Uninstalling /usr/local/Cellar/python/2.7.10_2... (4906 files, 77M)
を実行。さよならぱいそん…… そして
$ python -V
を実行すると、無事Python 3.4.3
が返ってきました。めでたしめでたし。
https://blog.kyabe.net/2015/08/pyenv.htmlpyenvでバージョンが切り替えられなくて苦労した話
登録:
コメントの投稿
(
Atom
)
コメント失礼します。
返信削除pythonインストールに関して調べてみましたところ、このような記事を発見しました。
"Mac OS Xで複数バージョンのPythonを利用する(1)複数Verインストール編"
http://qiita.com/_rdtr/items/3927e042b2ca18f03b8c
この方法を使えば、デフォルトでインストールされているpythonではなく、homebrewでインストールしたpythonを使うことが可能なようです。ご報告いたします。
もし既にこの記事をお読みになっていてあえてこの方法を取らなかった理由、せっかくhomebrewでインストールしたpythonではなくデフォルトインストールのpythonを使う理由などがありましたら、後学のために教えていただけませんでしょうか。
よろしくお願いします。
コメントいただきありがとうございます。
削除教えていただいた記事を参考にすれば特別なパッケージを入れなくても2.x系と3.x系のPythonが利用できることが可能なようですね。
私はこの記事は読んでいなくて、たまたま最初に調べた時に知ったのがpyenvを使う方法だった、というのが使い始めた理由です。後付けにはなってしまいますが、私が「今」pyenvを使う理由を考えてみました。使っていて便利だと思うことを書き上げますね。
1. プロジェクト毎にバージョン指定ができる
`pyenv local バージョン名`のコマンドを用いて、pythonを呼び出した時に使用するバージョンを指定できます。そのため、最初に設定さえしておけば、実行する際にどのバージョンを使うかを考える手間が省けます。直近にいじったコードであれば問題ないのですが、時間が経つと実行するときどれを使えば良かったのかわからなくなったりしますので……。もちろんコードを見れば凡そ推測は出来るのだと思うのですが、プログラムを実行するだけでよければその手間は惜しいと考えます。
2. バージョン2.x,3,x以外の実装も同様に
Pythonの実装にはanacondaやpypy、Stacklessなどいくつかの実装があります。これらも一緒に管理するとなると、やはり前述の1.の例のような場合にpyenvが便利になるのかなと思います。
参考になれば幸いです。これからもどうぞよろしくお願いします。