vlambda博客
学习文章列表

Pycharm结合virtualenv虚拟环境的使用

(1)什么是解释器

先说一下,什么是解释器,Python 的解释器就是 Python.exe,是用来解释运行你编写的 Python 代码的,我们下载的 Python其实自带解释器和编译器,可以直接在命令行敲入代码,或者写一个文本,然后调用 Python 的解释器来执行也可以,而 Pycharm 则是一个 IDE(主要是让我们编写程序更加方便,或者说看起来更加简单,不需要用文本或在 dos 窗口编写代码),但是 Pycharm 是不带 Python 解释器的,所以你要在安装 Pycharm 之前,安装好 Python。

上图是我的 pycharm 运行所需要的外部库:所在位置是一个项目文件中(注意:我的 Python3 安装位置是 D:\Scoop\apps\python\current),然后我检查了一下 Pycharm 的运行环境:文件 --> 设置

Pycharm结合virtualenv虚拟环境的使用

上面列出的这个图,其实找的是我的项目文件 Python 编程所需要的项目解释器(Project Interpreter)在哪里,其配置是什么,可以看出,它的解释器就在我的项目文件下,而不是我安装的 D 盘中的 Python3,那么我就要问了,既然创建项目的时候就有,我还安装 Python3 干什么?

有的时候因为各种原因,在操作系统下,我们会安装很多版本的 Python 解释器。同样,我们也有可能因为各种原因,需要不同版本的模块,比如 Django1.8,Django1.11。再加上 pip 工具管理器的版本混乱问题。这就使得很多人在 Python 的环境管理上产生极大的混乱。

通常每个项目,甚至项目不同阶段的版本,需要不同的 Python 解释器和依赖库。为了清晰明了,安全可靠的管理这些环境,需要为每个项目或每个应用各自建立一套 “独立、隔离” 的 Python 运行环境。

virtualenv 就是用来为每一个项目创建一套 “独立隔离” 的 Python 运行环境的工具。

实际上 Pycharm 可以指定解释器,直接将项目的 Python 解释器设置为你要使用的虚拟环境就行,如下所示:

在 settings 中:

Pycharm结合virtualenv虚拟环境的使用

选择 Python:

看上面这个选项,这里说是虚拟环境,也就是说这是一个虚拟解释器,它是建立在 D 盘里面的 Python 解释器(D:\Scoop\apps\python\current\python.exe)基础之上的,这里的虚拟解释器在我理解来看,其实和缓存差不多,将要用到的东西放到项目文件夹中,用到的时候,直接调用邻近的,这样速度快,如果没有了,再去原解释器(D 盘中),寻找需要的东西。

(2)虚拟与基本解释器是否同步?

所以说一切的基础还是在 D 盘中的 Python 中,但是两者是同步的吗?

  • 答案是不同步的,我在 D 盘的 Python 中安装了模块,但是用虚拟解释器依然报错,只有在虚拟解释器(也就是你解释器的环境下,执行 pip install 才可以),两者虽然是不同步的,但是更新下载的时候,只要 D 盘根解释器已经下载过了,那么虚拟环境中,就不需要联网下载了,可以直接复制 D 盘的模块