そもそもの問題
pyenv install [version]
によって~/.pyenv
以下にpythonがビルド&インストールされるはずだが、pythonをビルドするのに必要なパッケージが無いのでビルドが失敗する- 今回のケースだと
openssl-devel
- 独自で入れるのは大変にめんどい&あぶない
- 今回のケースだと
- 今回のケースでは、絶対にrootになれないという制約がある。これがなんにしても厄介。
状況
- pythonがインストールされているpathはrootしかwrite権限が無いpath(/usr/local/的な場所)
- pyenvによる新たなpythonのインストールができないため、
pyenv versions
にはsystemしか無い状態- べつにそれに関しては文句は無い。system=2.7.10だし、じゅうぶん。
問題
- しゃーないのでpython自体はsystem使いつつ、しかしvirtualenvは分けたいな、と思う。
- pyenvのプラグインであるpyenv-virtualenvを使って新たな環境を作成しようとすると、権限の無い場所に
site-packages
を作ろうとしてコケる- これが直面している問題
$ pyenv virtualenv system hoge # systemしかないからしょうがない
Exception:
Traceback (most recent call last):
# 略
IOError: [Errno 13] Permission denied: '/usr/local/package/python/current2.7/lib/python2.7/site-packages/virtualenv.py
対策案?
- systemへのaliasみたいな感じでどうにか
~/.pyenv
にsite-packages
を作るpythonのバージョンを定義する、とか? - system使い続けていいんだけど、
site-packages
をごっそり変える、とか?