Python中的venv虚拟环境详解

385 阅读2分钟

venv是Python 内置的用于创建虚拟环境的工具,它可以为每个项目创建一个独立的 Python 环境,避免不同项目之间的依赖冲突。虚拟环境允许每个项目拥有自己的依赖库,而不影响全局的 Python 环境。它是管理 Python 项目依赖和避免版本冲突的重要工具。

python的虚拟环境总有两款:anaconda和venv,anaconda是一个跨平台的python发行版,提供了用于科学计算和数据分析大量的库和工具,有着复杂的依赖项解析和环境管理能力,这个风云以后再单独详细介绍,今天主要讲python内置的venv。

创建虚拟环境

venv 是 Python 3.3 及以上版本自带的模块,因此无需安装任何额外的库。

# python -m venv <env_name>
python -m venv myenv

myenv 目录会包含以下内容

  1. bin/:包含虚拟环境中的可执行文件(如 Python、pip)。
  2. lib/:包含虚拟环境的 Python 库。
  3. pyvenv.cfg:虚拟环境的配置文件,包含 Python 版本等信息。

激活虚拟环境

# 在 Windows 系统中
myenv\Scripts\activate

# 在 Linux 或 macOS 系统中
source myenv/bin/activate

使用虚拟环境

安装依赖库

# python --version
pip install requests

升级虚拟环境中的依赖

pip install --upgrade requests

# 升级所有依赖库
pip install --upgrade -r requirements.txt

运行 Python 程序

python my_script.py
  1. 安装库:pip install
  2. 升级库:pip install --upgrade
  3. 卸载库:pip uninstall

退出虚拟环境

退出虚拟环境可以使用 deactivate 命令。退出后,你的终端将恢复到全局 Python 环境。 执行该命令后,你会看到命令行中的 (myenv) 消失,表示已经退出虚拟环境。

deactivate

删除虚拟环境

如果你想删除虚拟环境,只需删除你创建它的目录(在这个例子中是myenv目录)即可。

# 在Windows上
rm -r myenv/

导出和导入虚拟环境的依赖

导出虚拟环境的依赖

使用 pip freeze 命令可以导出当前虚拟环境中已安装的所有依赖库,并保存为 requirements.txt 文件。该文件可以用于在其他环境中重现相同的依赖。

pip freeze > requirements.txt

在其他环境中安装依赖

在其他机器或虚拟环境中,可以使用 requirements.txt 文件安装相同的依赖

pip install -r requirements.txt

退出python的命令

  1. 使用exit()函数
  2. 使用quit()函数
  3. 使用Ctrl+Z然后回车(在Windows中)
  4. 使用Ctrl+D(在Unix, Linux, macOS中)