为何需要python2和3

python在发展的过程中分化出了两个版本,一种是旧的但成熟的版本2.x,一种是新的适合学习的版本3.x。然而两个版本的代码却并不兼容,2和3不能互相在对方的环境运行,虽然python2明确2.7是最后一个python2.x,但2和3却还没有合并的迹象,有时候我们为了运行不同环境下建立的项目,需要电脑中有两种python环境。传统的,同时安装python2.x和python3.x在一台机器上很麻烦,会出现各种问题,但是安装了Anaconda后,就会很容易解决这个问题了。
python2 or python3

Anaconda查看已有环境

安装Anaconda教程在这篇文章可以找到,安装好anaconda之后,可以通过以下命令查看当前conda已有的python环境

#列出当前安装的所有pyhon环境
conda info -e

如下图,如果你安装的是Anaconda2,默认就有python2环境,如果你安装的是Anaconda3,默认就有python3环境。左边的base是Anaconda的默认环境别名,刚安装时只有一条base记录。列出的信息中,第一列表示当前环境的别名,在切换环境的时候会用到这个别名,第二列表示当前环境所在的路径,有 * 的记录表示当前处于激活状态的环境。
已有的环境

如果只想知道当前所处的环境的python版本,也可通过以下命令直接查看

#列出当前的python环境,注意是大写的V
python -V

python环境

Anaconda添加新环境

我安装的是Anaconda3,因此下面的教程以已经安装好了Anaconda3,即已经有了python3.x环境为例,现在要安装python2.x环境,命令如下:

#创建一个名为python27的环境,指定Python版本是2.7(不用管是2.7.x,conda会为我们自动寻找2.7.x中的最新版本) 
conda create --name python27 python=2.7

创建一个新的环境大概要4分钟,conda会自动下载需要的包,安装完之后显示如下:
新的python环境

此时在终端输入 conda info -e 就会显示有两个环境,conda会把新安装的python环境放在Anaconda3的envs目录下
已有的环境

Anaconda激活&切换环境

安装好需要的环境之后,可以通过以下命令激活某个环境:

# 激活名为python27的环境
conda activate python27

执行完上面的命令后可以发现原来的(base)变成了(python27),此时通过 conda info -e 或者 python -V 查看,可以发现环境已经变了,打 * 号的记录变成了python27那条,说明当前激活的环境已经切换。
切换python2环境

如果切换环境跑完代码后,又想回到之前的环境,可以通过以下命令把环境切回去

# 取消当前环境的激活状态
conda deactivate

命令运行结束后,可以看到终端的环境变回了原来的(base)
取消激活

Anaconda删除环境

同样的,如果我们已经不需要某个环境,也可以删掉他,删除一个已有的环境的命令如下

# 删除一个名为python27的环境
conda remove --name python27 --all

conda会自动删除该环境中的所有包,删除完之后显示如下,我们再输入 conda info -e ,可以发现刚刚的环境已经被删除了。
删除环境

pycharm配置

在conda中添加完后,我们在pycharm创建项目时还需要手动配置,因为pycharm可能还是会找到默认的那个python环境。我们在创建python项目时,在选择python解释器这里点击第二个,一般来说会显示 <No interpreter> ,所以我们点右边的按钮进去寻找
选择python解释器

正常来说,Conda Environment 是刚刚新创建的环境,System Environment 是Anaconda默认的环境,如果还是没有找到,可以根据刚刚创建环境时给出的路径去寻找需要的python.exe。
新环境的python.exe

然后我们就创建出了一个python2为环境的项目了,可以使用pyhon2独有的语法写代码运行检测一下(python2中print是一个类,python3中print是一个函数)
python2项目

参考资料

最后修改:2020 年 12 月 30 日 12 : 36 AM
如果觉得我的文章对你有用,请随意赞赏