Python环境搭建 | Windows中多版本Anaconda的共存与切换/

版权声明:转载请注明出处 https://blog.csdn.net/CHAOS_Ko/article/details/80383635

前言

随着python3的诞生,越来越多的开发者们加入到使用新版本的行列,但很多老系统依然在python2的环境中运行,有时人们不得不同时在两个版本中交替进行开发调试[1]。而anaconda作为一个集成了多种包的python科学计算发行版,使用方便,应用广泛。因此,我们有时会不得不面对需要同时在电脑上安装和使用不同python版本anaconda的情况。本文介绍了在windows中,主要版本anaconda的下载和安装,以及2种安装次要版本的方法。简单介绍了如何在两种python环境间进行切换,并使用jupyter notebook和spyder。

主要版本Anaconda的安装

首先安装主要版本,我的电脑中是以python3为主,这里就以此作为例子说明,但即使以python2为主,操作的方法也没有任何本质上的区别。

通常,我们可以去官网下载对应版本的anaconda,但由于国外服务器下载太慢,这里推荐去清华大学开源软件镜像站[2]下载。除了anaconda安装包,还支持为conda添加镜像源,之后使用命令行安装各类python包也可以享受高速下载。

下载完成后,打开安装包进行安装,遇到的第一个需要注意的对话框会询问你:

Install for:

  • Just me (recommended)
  • All Users (requires admin privileges)

理论上两者差异不大,但有时选择第一个选项之后会导致安装的
anaconda无法打开,而选“所有用户”之后解决了这个问题,所以这里可以选择为所有用户安装。

之后选择安装路径,紧接着遇到第二个需要注意的对话框,“高级安装选项(Advanced Installation Options)”,包括这两个复选项:

  • Add Anaconda to my PATH environment variable
  • Register Anaconda as my default Python 3.6

第一个选项是将安装目录添加到系统的环境变量中,以后在cmd中便可以直接使用python命令启动python。第二个选项是让其他IDE能够检测到Anaconda3并将Anaconda3作为默认的python3.6[3]。**安装主要版本时,需要把两个选项都选上。**这之后只要一路安装下去就可以了。

次要版本Anaconda的安装

方法一:安装包安装

同样是在清华的镜像站下载对应版本,选择“为所有用户安装”。注意安装路径选择为:
xxx/Anaconda3/envs/py2

这里的py2是用我为新环境起的名字来命名的文件夹,之后切换次要环境的时候就要用到这个名字。

最后,在“高级安装选项”下的两个复选框都不要勾选(第二个勾打上也并无影响,主要是第一个勾不要选择),接着一路安装下去即可。

方法二:使用命令行创建虚拟环境

在cmd中输入如下指令:
conda create --name py2 python=2.7

这样系统会自动在envs目录下创建文件夹py2并下载python2.7。

如果想删除,可以输入:
conda remove --name py2 --all

之后想要激活环境还需要将虚拟环境中python和Scripts文件夹的路径添加到环境变量里,从而使多个环境共用一套conda指令[4](我并未进行此操作然而之后也成功切换环境了):
set PATH=xxx\Anaconda\envs\py2\Scripts; xxx\Anaconda\envs\py2;%PATH%

有人认为这种方法由于网络问题容易失败,直接使用安装包更方便[3]。同时也有人表示直接安装并未能成功[5]。我采用的是方法一,并且成功实现了切换。

切换不同Python版本的环境

打开cmd,输入命令:
activate py2

之后可以看到命令行前面显示多了一个(py2), 也就是你为新环境起的名字,这就表示已经进入了新环境。之后输入spyder,或者jupyter notebook,即可打开相应的软件。

同样是在cmd,输入命令:
deactivate

即可切换回默认环境。

有人表示使用powershell无法激活环境[4],而我使用Git Bash也未能实现,换成Git CMD则成功激活。
##打开Spyder的另一种方法
另一种方法即是直接切换spyder的解释器,打开顺序为:

spyder
tools
preferences
python_interpreter

之后找到新环境的路径即可,这是参考这里[5]给出的方法,但笔者在实践时没有成功,因为spyder仍是3的版本,却使用了2的解释器。

Jupyter notebook中ython2及3的kernel共存的方法

如果能够使jupyter notebook种两种python版本的kernel共存,则不用在cmd中来回切换,而是直接可以同时使用两种python版本,十分方便。方法可以参见这里[6]这里[7]


参考资料
[1] https://foofish.net/compatible-py2-and-py3.html
[2] https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
[3] https://blog.csdn.net/u010626937/article/details/78735144
[4] https://www.zhihu.com/question/58573630
[5] https://www.cnblogs.com/wxshi/p/6805120.html
[6] https://blog.csdn.net/ccblogger/article/details/79484837
[7] https://blog.csdn.net/xiaodong193/article/details/51628850

猜你喜欢

转载自blog.csdn.net/CHAOS_Ko/article/details/80383635
今日推荐