【发布时间】:2013-06-26 18:39:06
【问题描述】:
我系统中的默认python版本是2.6.6。我安装了 virtualenv,我希望每次打开终端时默认的 virtualenv 为 2.7。
所以,我在 ~/.bashrc 文件中添加了以下命令:
source $HOME/virtualenvs/py2.7/bin/activate
现在,每当我通过在 Gnome 环境中单击图标启动终端(即,我已经登录机器并在 Gnome 中打开一个新的终端窗口 (xterm))时,shell 符号如下所示:
(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。
【问题讨论】:
-
sourcing bin/activate 会更改您的 $PATH,因此它的第一个条目是 virtualenv 的 bin/ 目录。这就是它所做的一切;这纯粹是一种方便。尝试跳过采购指令,而只是摆弄 PATH 环境变量。如果您两次获取 .bashrc,您可能会看到遇到的问题...
-
附言。我在
.bashrc的底部添加了 sourcing 指令,并启动了一个新的 bash 终端,它的行为符合预期(即它可以工作)。在 ubuntu 12.04 上测试。 “在 Gnome 环境中单击图标”是什么意思? -
你的生活中需要virtualenvwrapper
-
@FredrikPihl:我刚刚编辑了原始帖子以使其清楚。感谢您的建议。
标签: python bash virtualenv