/* とりあえずUbuntu14.04では確認しました。 */
やりたいこと
すでにenv2_7というディレクトリをpyvenvで作ったと仮定して。
$ source env2_7/bin/activate
$ python -V
Python 2.7.6
ということをやりたかったのです。
結論
作った仮想環境ディレクトリのbinの下のpythonのシンボリックリンクを変えてやる。
余談
生成された仮想環境のbin以下に、各Pythonへのシンボリックリンクが張られているらしく、
そのうちのpythonのシンボリックリンクを変えてactivateしたら、実際うまく行った。
コマンドと見てみる
こうなっているのを、
$ tree env2_7
env2_7
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── python -> python3.4
│ ├── python3 -> python3.4
│ └── python3.4 -> /usr/bin/python3.4
...
シンボリックリンクを張り直して、
$ ln /usr/bin/python2.7 env2_7/bin/python --symbolic
こうした。
$ tree env2_7
env2_7
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── python -> /usr/bin/python2.7
│ ├── python3 -> python3.4
│ └── python3.4 -> /usr/bin/python3.4
...
最初のpyvenv
コマンドでできる方法をご存じの方がいらっしゃいましたら、ぜひコメント欄にてツッコミしてください。