私のシステムのデフォルトの Python バージョンは 2.6.6 です。virtualenv をインストールしました。ターミナルを開くたびに、デフォルトの virtualenv を 2.7 にします。
そこで、~/.bashrc ファイルに次のコマンドを追加しました。
source $HOME/virtualenvs/py2.7/bin/activate
これで、Gnome 環境でアイコンをクリックしてターミナルを起動するたびに (つまり、すでにマシンにログインしており、Gnome 内で新しいターミナル ウィンドウ (xterm) を開いている場合)、シェル シンボルは次のようになります。
(py2.7)(py2.7)
どういうわけか、別のvirtualenv内にvirtualenvがあるようです。さらに悪いことに、以下に示すように、一方の virtualenv のみを非アクティブ化できますが、もう一方は非アクティブ化できません。
(py2.7)(py2.7)deactivate
(py2.7)python
Python 2.7.5 (default, Jun 28 2013, 14:53:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(py2.7)deactivate
bash: deactivate: command not found
(py2.7)python
Python 2.7.5 (default, Jun 28 2013, 14:53:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
ご覧のとおり、私のシステムのデフォルトの python は 2.6 ですが、virtualenv (2.7) でスタックしています。
Ctrl + Alt + F2 でテキスト仮想コンソールに切り替えてログインすると正常に表示されます。
(py2.7)[username@host ~]$
非アクティブ化して、システムのデフォルトの Python 2.6 に戻すことができます。
(py2.7)[username@host ~]$ python
Python 2.7.5 (default, Jun 28 2013, 14:53:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(py2.7)[username@host ~]$ deactivate
[username@host ~]$ python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
どうしたの?Gnome でターミナルを開くたびに、デフォルトの virtualenv を 2.7 に設定することはできますか?
私の Linux ディストリビューションは RedHat 6 です。