Python虚拟环境Virtualenv安装与使用详解

周予安
周予安
发布时间:2026-10-14| 2人浏览过
原创

本文详细介绍如何在同一服务器上使用virtualenv为多个Python项目创建独立的运行环境,解决依赖冲突问题。涵盖安装方法、环境创建、激活退出、全局库继承、路径修改及uwsgi集成配置,帮助开发者高效管理Python版本与第三方库。

Virtualenv简介与安装

当在同一台服务器上部署多个项目时,不同项目可能需要不同版本的Django或其他Python库。此时,使用virtualenv可以创建独立的Python运行环境,从而将各个项目的运行环境有效隔离,避免依赖冲突。

virtualenv能够创建一个拥有独立安装目录的环境,便于统一管理Python版本及Python库。

安装

pip install virtualenv

创建与管理虚拟环境

创建环境

基本命令:

virtualenv ENV

执行上述命令后,将在ENV目录中创建一个新的虚拟环境。

在虚拟环境中,pip和setuptools已自动下载完毕,可直接使用这些工具来下载Python包。

下载的Python包将存放于ENV/lib/pythonX.X/site-packages目录中。

当前使用的Python解释器路径为ENV/bin/python。

激活与退出虚拟环境

激活命令:

$ source bin/activate

退出虚拟环境:

$ deactivate

删除虚拟环境

在退出虚拟环境后,直接删除对应目录即可移除该环境:


(ENV)$ deactivate
$ rm -r /path/to/ENV

高级配置:全局库继承与路径修改

继承全局Python库

使用以下命令可以创建一个继承使用/usr/lib/python2.7/site-packages下Python全局库的虚拟环境:

virtualenv --system-site-packages ENV

不使用虚拟环境中的Python解释器

如果不想或者不能使用虚拟环境中的python解释器bin/python,需要修改使用的Python库的路径。

bin目录下有一个文件 activate_this.py:


"""By using execfile(this_file, dict(__file__=this_file)) you will
activate this virtualenv environment.

This can be used when you must use an existing Python interpreter, not
the virtualenv bin/python
"""

更改路径:


activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

环境打包与版本指定

生成可打包的环境

$ virtualenv --relocatable ENV

指定Python版本

-p PYTHON_EXE, --python=PYTHON_EXE:指定生成的虚拟环境的Python版本

virtualenv -p /usr/bin/python2.7 env

Uwsgi集成配置

uwsgi中使用virtualenv

部署Django项目时,可以使用uwsgi的几个选项来指定项目使用的虚拟环境,--home,--virtualenv,--venv,--pyhome选项,都可简写为-H。

在uwsgi配置文件中添加 virtualenv = <path to env>或者运行命令时 $ uwsgi -H myenv。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。