拥有多个python
解释器是很正常的事情,我们需要厘清其中的关系,不要觉得多就是乱。
Conda
:一个成熟的Python
环境管理工具
通常意义上Anaconda
作为Python
的一个发行版本,我们将其当做一个,附赠jupyter
、spyder
等IDE
、下载即安装pandas
、numpy
等数据科学类库的Python
是没有任何问题的。
实际上Anaconda
最强大的工具就是conda
,以往我们可以用pip进行Python类库的管理,现在我们可以用conda替代,甚至Anaconda Navifator
提供了图形化的类库管理界面,可以通过点点实现类库的管理。
虚拟环境
我所认为的虚拟环境就是python
的分身,我们将安装Anaconda
赠送Python
作为base
(因为在有了虚拟环境后,这个python
后往往都接着一个base
)。通过创建虚拟环境,这个base
通过复制(只保留基础类库),得到了虚拟环境,可以理解为一个全新的Python
,在运行Python
程序的时候可以指定用哪一个Python
。
不同的项目需要的类库支持往往不一样,当base
安装的类库居多时,容易发生包之间的版本冲突或不匹配,所以为不同的类型的项目创建一个单独的虚拟环境(python
)是非常有必要的。
创建虚拟环境
这样的创建过程有很多种方式可以完成:
Clone
项目时,Pycharm
询问是否为该项目创建一个虚拟环境,如果选择创建,就会在该项目文件下新建一个envs
文件夹,用于存放新的python
和该项目接下来需要的包。当然你也可以不选择创建,直接使用已有的环境就成(base
或者其他的虚拟环境)- 使用
Anaconda Navifator
创建,点点界面实在是很友好,所以很推荐这种方式创建虚拟环境,并且可以在这直接装好包。 - 当让是可以使用终端创建,详细的就看别人的介绍就成。
使用虚拟环境
在Pychram
中可以通过配置项目解释器的方式指定解释器,但是你会发下Pycharm
中的终端还是base
解释器,在那装包还是装到base
上了,这个时候需要在Pycharm
设置中将工具>终端>应用程序设置>Shell
路径改为C:\Windows\system32\cmd.exe
,这样以来终端中就是项目的环境了。
另外就是如果不用Pycharm
,需要先激活activate
指定环境,然后再运行程序,或者直接cd
到envs
路径下,再运行程序,也可以达到目的。
一些命令
查看本地所有的虚拟环境
conda info -e
激活指定环境
activate scrapy
关闭已经激活的环境
conda deactivate