Python虚拟环境

拥有多个python解释器是很正常的事情,我们需要厘清其中的关系,不要觉得多就是乱。

Conda:一个成熟的Python环境管理工具

通常意义上Anaconda作为Python的一个发行版本,我们将其当做一个,附赠jupyterspyderIDE、下载即安装pandasnumpy等数据科学类库的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指定环境,然后再运行程序,或者直接cdenvs路径下,再运行程序,也可以达到目的。

一些命令

  • 查看本地所有的虚拟环境

    conda info -e  
  • 激活指定环境

    activate scrapy
  • 关闭已经激活的环境

    conda deactivate

最后更新于