ubuntu环境下一键切换python虚拟环境

来源:互联网 发布:盲源分离理论与算法 编辑:程序博客网 时间:2024/06/05 15:59



我的使用习惯是这样的工程文件夹下,希望一条命令激活or切换虚拟环境。

在/home/appleyuchi路径下的.bashrc文件中的最后面追加以下这3句,路径自己修改好。

#####################################################################################

alias py2.7="source /home/appleyuchi/.virtualenvs/python2.7/bin/activate&&deactivate&&source /home/appleyuchi/.virtualenvs/python2.7/bin/activate"

alias py3.5="source /home/appleyuchi/.virtualenvs/python3.5/bin/activate&&deactivate&&source /home/appleyuchi/.virtualenvs/python3.5/bin/activate"

py2.7

#####################################################################################

上面第三句的意思是打开终端后就会自动进入到python2.7的虚拟环境

原理,以第一条为例进行分析。

一、如果是在终端刚打开没有激活虚拟环境的情况下:

source /home/appleyuchi/.virtualenvs/python2.7/bin/activate这个会激活虚拟环境

然后

deactivate&&source /home/appleyuchi/.virtualenvs/python2.7/bin/activate"
这个会进行反复激活。

二、如果是在终端中 已经存在虚拟环境的情况下:

那么

source /home/appleyuchi/.virtualenvs/python2.7/bin/activate"中这句是无效的。

deactivate&&source /home/appleyuchi/.virtualenvs/python2.7/bin/activate"会帮助切换虚拟环境



但是注意:由于deactivate无法针对终端已经开启、但是没有python虚拟环境的情况,所以前面的source /home/appleyuchi/.virtualenvs/python2.7/bin/activate这部分不可以删除。

也就是说,这条自定义命令的设计思想是:

针对刚打开终端的情况:

先激活、然后反激活(deactivate)、切换回原来的虚拟环境

针对终端中已经有虚拟环境的情况:

先激活(此时激活source是失效的)、切换到新的虚拟环境



综上,一条命令可以同时处理激活和切换。

用法,文中红色字体添加大~/.bashrc中的最后两行,然后关闭终端,重新开启终端:

输入py2.7,可以进入python2.7的虚拟环境或者由python3.5的环境切换到2.7的环境(该命令会自动判断当前处于哪种情况)

输入py3.5,可以进入python3.5的虚拟环境或者由python2.7的环境切换到3.5的环境(该命令会自动判断当前处于哪种情况)


阅读全文
0 0
原创粉丝点击