Python 虚拟环境 virtualenv 安装与使用详解:Linux 与 Windows 双平台指南
本文详细讲解如何在 Linux 和 Windows 系统下使用 virtualenv 创建独立的 Python 虚拟环境。内容涵盖从 Python 版本安装、virtualenv 工具部署,到具体虚拟环境的建立、激活、退出及 Django 库安装的完整操作流程,帮助开发者有效管理多版本 Python 及依赖包。
一、概述
在实际开发中,一台主机上往往需要运行多个不同时期的项目,这些项目可能依赖不同的 Python 版本。此外,即便 Python 版本相同,不同项目所需的第三方库和包也可能存在冲突。因此,亟需一种工具来隔离和管理各个不同的 Python 版本及其运行环境。
virtualenv 工具的核心功能是为每个 Python 项目创建“独立隔离”的虚拟运行环境。通过该工具,每个项目可以拥有自己独立的 Python 解释器及扩展包库,从而确保项目间的依赖互不干扰。
使用 virtualenv 的前提是操作系统已安装所需的 Python 基础版本。例如,若系统已安装 Python 2.7 和 Python 3.7,则可直接利用 virtualenv 克隆出多个独立的 Python 2.7 和 Python 3.7 运行环境。但若项目需要 Python 3.4 环境,则必须先在操作系统层面安装 Python 3.4 版本,随后才能进行虚拟环境克隆。
virtualenv 创建虚拟 Python 环境的结构示意图如下图所示:

二、Linux 下安装 Python 虚拟环境
大多数 Linux 发行版默认已预装一个 Python 版本。用户只需额外安装项目所需的其它 Python 版本即可。以 CentOS 为例,系统默认已安装 Python 2.7,用户只需再安装 Python 3.7 即可满足多数需求。以下是建立虚拟环境的具体步骤:
1. 安装 Python 3
(1)下载安装包:
# wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
(2)解压缩:
# tar -xvzf Python-3.7.4.tgz
(3)配置安装目录:
进入解压后的 Python-3.7.4 目录。
# ./confiture --prefix=/usr/local/python3.7.4
指定安装目录可确保 python3 相关的所有文件均安装至该目录。若不指定,make 编译时会将部分 python3 文件分散安装到系统的 bin、lib 等目录,增加后续卸载难度。若按指定目录安装,后续卸载时直接删除该目录即可,便于维护。
(4)安装前置依赖包
对于 Python 3.7 及以上版本,需预先安装若干前置依赖包,具体如下:
a. 安装 libffi-devel
# yum install libffi-devel -y
b. 安装 zlib
# yum -y install zlib*
或:
# wget http://www.zlib.net/zlib-1.2.11.tar.gz
# tar -xvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure
# make
# make install
(5)编译并安装 Python:
# make
# makeinstall
(6)建立软链接:
在 /usr/bin 路径下执行以下命令:
# ln -s /usr/local/python3.7.4/bin/python3.7 /usr/bin/python3
# ln -s /usr/local/python3.7.4/bin/python3.7 /usr/bin/python3.7
注意,由于 /usr/bin/yum 程序依赖 Python 2,因此不能修改 /usr/bin/python 软链接,该链接仍需指向 Python 2.7。
若必须默认使用 Python 3,可修改 /usr/bin/yum 文件,将其首行 Shebang 改为:
#!/usr/bin/python2.7
2. 安装 virtualenv
(1)安装 virtualenv
利用 Python 3 可直接安装 virtualenv(默认安装至 /usr/local/python3.7.4/bin/ 路径下)。
# python37 -m pip install virtualenv
(2)创建软链接
ln -s /usr/local/python3.7.4/bin/virtualenv /usr/bin/virutalenv
3. 使用 virtualenv 建立虚拟环境
(1)新建当前用户的总虚拟目录
$ mkdir ~/python_envs
(2)建立多个 Python 虚拟环境
a. 创建 python27 虚拟环境
首先建立一个名为 py27_dj111 的虚拟环境,命名规则直观反映:Python 版本为 2.7,用于运行 Django 1.11。
$ virtualenv -p python2.7 –-no-site-packages ~/python_envs/py27_dj111
上述命令将创建一个 py27_dj111 目录及一个干净的 Python 2 环境。
b. 创建 python37 虚拟环境
接着建立一个名为 py37_dj218 的虚拟环境,命名规则直观反映:Python 版本为 3.7,用于运行 Django 2.18。
$ virtualenv -p python3.7 –-no-site-packages ~/python_envs/py37_dj218
上述命令将创建一个 py37_dj218 目录及一个干净的 Python 3 环境。
(3)运行和退出虚拟环境
进入 ~/python_envs/py27_dj111/bin 目录,执行以下命令:
$ source activate
(py27_dj111)$
即可进入该虚拟 Python 环境。成功进入后,命令提示符前会出现 (py27_dj111) 标识,表明当前处于该虚拟环境中。
若要退出虚拟 Python 环境,可在任意路径下输入以下命令:
(py27_dj111)$ deactivate
4. 在虚拟环境下安装 Django
(1)运行 py27_dj111 虚拟环境,并输入以下命令:
(py27_dj111)$ pip install django==1.11
(2)运行 py37_dj218 虚拟环境,并输入以下命令:
(py37_dj218)pip install django==2.18
三、Windows 下安装 Python 虚拟环境
1. 安装 Python
(1)下载安装包,并安装 Python 2.7,将 python.exe 重命名为 python27.exe
(2)下载安装包,并安装 Python 3.7,将 python.exe 重命名为 python37.exe
(3)设置环境变量 PATH
增加 d:\Programs Files\Python37 和 d:\Programs Files\Python27 路径。建议将 Python 37 的目录置于 Python 27 目录之前,以便命令行优先执行 Python 37 中的程序。
(4)此后,启动 Python 命令需使用 python27 或 python37,以明确指定运行哪个 Python 版本。
2. 安装 virtualenv
在 d:\Program Files\Python37\Scripts 目录下,运行以下命令:
pip install virtualenv
或者,在任意目录下运行以下命令:
python37 -m pip install virtualenv
采用上述两种方法之一,virtualenv 将被安装至 d:\Program Files\Python37\Scripts 目录下。
3. 使用 virtualenv 建立虚拟环境
(1)新建目录 d:\Program Files\python_envs
(2)建立虚拟环境:
在 d:\Program Files\Python37\Scripts 目录下运行以下命令:
virtualenv.exe -p "d:\Program Files\Python27\python27.exe" –-no-site-packages "d:\Programs Files\python_envs\py27_dj111"
上述命令将创建一个 py27_dj111 目录及一个干净的 Python 2 环境。
在 d:\Program Files\Python37\Scripts 目录下运行以下命令:
virtualenv.exe -p "d:\Program Files\Python37\python37.exe" –-no-site-packages "d:\Programs Files\python_envs\py37_dj218"
上述命令将创建一个 py37_dj218 目录及一个干净的 Python 3 环境。
(3)运行和退出虚拟环境:
在 d:\Program Files\python_envs\py27_dj111 目录下运行以下命令:
active
即可进入该 Python 虚拟环境。
若要退出该虚拟环境,可在任意路径下输入以下命令:
deactivate
4. 在虚拟环境下安装 Django
(1)运行 py27_dj111 虚拟环境,并输入以下命令:
pip install django==1.11
(2)运行 py37_dj218 虚拟环境,并输入以下命令:
pip install django==2.18
总结
以上所述是小编给大家介绍的 Python 安装 virtualenv 虚拟环境的教程详解,希望对大家有所帮助,也非常感谢大家对本站网站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









