当我们在开发 Python 项目的时候,通常会使用多个库和依赖关系。而这些库和依赖关系可能会存在冲突,导致程序无法正常工作。为了解决这一问题,我们可以使用 virtualenv 来隔离项目的依赖关系。下面是详细的使用方法:
安装 virtualenv
在开始使用 virtualenv 之前,需要先安装它。可以使用 pip 工具来安装 virtualenv。在命令行中运行以下命令即可:
pip install virtualenv
创建虚拟环境
在安装好 virtualenv 之后,我们可以使用它来创建一个虚拟环境。在命令行中进入项目的根目录,然后输入以下命令:
virtualenv env
其中,env 是你希望创建的虚拟环境的名称。这个命令会在项目根目录下创建一个名为 env 的文件夹,用来存放虚拟环境的所有文件和依赖关系。
激活虚拟环境
虚拟环境创建好之后,我们需要激活它。在命令行中输入以下命令:
source env/bin/activate
这个命令会将当前终端会话切换到虚拟环境中。在这个虚拟环境中,我们可以使用 pip
安装需要的库和依赖关系。
安装依赖关系
在虚拟环境中,我们可以使用 pip
工具安装需要的库和依赖关系。例如,我们想安装名为 Flask 的 web 框架,可以在命令行中输入以下命令:
pip install Flask
这个命令会下载并安装 Flask 库及其所有依赖关系。安装好之后,我们就可以在项目中使用 Flask 库了。
退出虚拟环境
完成任务后,我们需要退出虚拟环境,以免影响其它项目的工作。在命令行中输入以下命令:
deactivate
这个命令会将当前终端会话切换回到原来的环境中。
示例
下面是两个使用 virtualenv 的示例说明:
示例一
假设我们要开发一个名为 myproject
的 web 应用,它需要使用 Flask 和 requests 两个库。我们可以按照如下步骤来进行:
- 在命令行中进入项目根目录。比如,可以使用
cd myproject
命令; - 使用
virtualenv
创建一个虚拟环境。可以输入virtualenv env
命令; - 激活虚拟环境。可以输入
source env/bin/activate
命令; - 在虚拟环境中使用
pip
安装需要的库和依赖关系。可以输入pip install Flask requests
命令; - 开始开发项目,代码中引用的 Flask 和 requests 库将会来自虚拟环境中;
- 完成开发后,退出虚拟环境。可以输入
deactivate
命令。
示例二
假设我们有两个 Python 项目,它们分别依赖不同版本的 Django 框架。我们可以按照如下步骤进行:
- 在第一个项目的根目录中,使用
virtualenv
创建一个虚拟环境(比如,命名为env1
),并在其中安装 Django 1.11; - 在第二个项目的根目录中,使用
virtualenv
创建另一个虚拟环境(比如,命名为env2
),并在其中安装 Django 2.2; - 每次开发时,进入对应的虚拟环境即可,不用担心两个项目之间的 Django 版本冲突。
总之,使用 virtualenv
隔离 Python 项目的依赖关系十分方便,同时也可以避免出现一些冲突和错误,十分值得推荐。