最近在忙百度的一个比赛,官方提供的框架是Python2.7版本的,然而自己生产环境已经用惯python3了,当然不希望重新折腾一番。网上看到有利用conda解决多版本python共存问题的办法(说到底也是使用虚拟环境),无奈都是基于bash的。好不容易基于fish配置完毕,分享一下。

设置虚拟环境

首先是利用anaconda设置虚拟环境,使用命令conda create --name python2 python=2.7创建一个基于python2.7的虚拟环境。
接下来就是激活虚拟环境的问题,也是碰到最多坑的地方。在bash下面,可以使用source activate python2完成虚拟环境的激活,在fish下面就各种问题,网上找了一下,有个解决方案还算完美。
大致如下

  1. 使用conda info --root获取安装路径
  2. 在config.fish中添加source <PATH_TO_ROOT>/etc/fish/conf.d/conda.fish

执行完毕之后,就可以在fish中使用conda activate python2激活前面创建的虚拟环境了。

参考链接