随手记 | 如何在安装Anaconda Python3.7 之后使用 Python3.6
Anaconda的最新一个版本是2019年3月发布的Python3.7版,链接在此,然而,到今天(20190710)为止,keras仍然不兼容Python 3.7,keras官方中文文档在此。有没有什么办法既能在Anaconda里使用keras,又可以不用退回Python 3.6呢?本文介绍在在安装Anaconda Python3.7 之后仍能使用 Python3.6的方法。
按下win+R,输入cmd,打开windows的DOS界面,输入以下语句:
conda create -n py36 python=3.6 anaconda
上面这句命令的作用是创建一个Python版本为3.6、名字为py36的虚拟环境,其中py36作为一个文件夹位于Anaconda安装目录的envs文件夹下。创建Python虚拟环境的通用命令如下
conda create -n your_env_name python=X.X(2.7、3.6等) anaconda
虚拟环境创建完毕后,cmd页面显示如下语句:
To activate this environment, use:
# > activate py36
#
# To deactivate an active environment, use:
# > deactivate
#
# * for power-users using bash, you must source
上述语句说明,在默认的Python 3.7环境下输入 activate py36 命令即可进入Python3.6 虚拟环境,输入deactivate命令即可由虚拟环境退回到默认环境。
在py36环境下需要重新安装 tensorflow 和 keras 包才可以使用,和在默认环境下同样操作即可。
各种包安装完毕后,实验验证安装成功与否,结果如图1所示:

如上图所示,首先进入默认环境(base),键入python指令进入环境,显示当前Python版本为3.7.0,接着分别查看已安装好的 tensorflow 和 keras 安装包的版本,分别是1.14.0和2.2.4,可见这两个包在Python3.7.0的环境下安装成功。键入exit()退出Python。
接下来,键入 activate py36 进入Python 3.6虚拟环境,可以发现前面括号里的内容已由base变为了py36。同样键入python进入环境,显示当前Python版本为3.6.8,可见Python 3.6的虚拟环境安装成功。接着分别查看已安装好的 tensorflow 和 keras 安装包的版本,分别是1.11.0和2.2.4,可见这两个包在Python3.6.8的环境下安装成功。键入exit()退出Python。
最后,键入 conda deactivate 或 conda.bat deactivate命令退出py36环境,最后一行前面的(base)表示已经退回默认环境。
可以通过以下命令检查当前存在的所有虚拟环境:
conda env list
或
conda info -e
显示的结果如下:
(base) C:\Users\chentianyang>conda env list
# conda environments:
#
base * E:\ProgramData\Anaconda3
py36 E:\ProgramData\Anaconda3\envs\py36
可见当前一共存在两个环境,一个是默认的环境,名字是base,版本是Python3.7;另一个是虚拟环境,名字是py36,版本是3.6,在envs文件夹下。当前环境是base。
如果切换到py36,显示如下:
(py36) C:\Users\chentianyang>conda env list
# conda environments:
#
base E:\ProgramData\Anaconda3
py36 * E:\ProgramData\Anaconda3\envs\py36
可见当前环境是py36。
配置好了Anaconda环境,就可以把它导入到编辑器中了。我写Python用的是PyCharm,随意打开一个Project,调用keras模块,运行。可以看到当前默认的外部库是Python 3.7,运行之后报警告,如图2所示:

当把外部库改为Python 3.6后,可以正常调用,如图3所示:

本文的主要参考内容如下:
[1] Anaconda+用conda创建python虚拟环境
[2] 安装完Anaconda python 3.7,想使用python3.6方法