如何创建并激活Python虚拟环境

了解如何使用内置 venv 模块创建、激活和管理 Python 虚拟环境。保持项目依赖关系隔离且干净。

在编辑器中尝试此解决方案

概述

在开发Python应用程序时,您经常会使用pip安装第三方包。如果没有虚拟环境,这些包将全局安装在系统的 Python 环境中。如果不同的项目需要同一库的不同版本(例如,项目 A 需要Django3.2,项目 B 需要Django5.0),这很快就会导致冲突。

虚拟环境是一个独立的目录,其中包含自己的 Python 可执行文件和自己的一组已安装包。通过为每个项目创建虚拟环境,您可以确保包安装不会干扰其他项目或系统范围的 Python 设置。这是 Python 开发的基本最佳实践。

在现代Python 3中,标准库包含“venv”模块,该模块无需外部工具即可处理虚拟环境。虚拟环境的生命周期包括创建环境目录、在活动终端会话中激活它、安装依赖项以及最终在完成后停用它。

代码和执行输出

此模拟显示用于在 macOS/Linux 和 Windows 中创建、激活、安装包以及停用虚拟环境的终端命令。

virtual_env.py
在编辑器中尝试
commands_macos_linux = """
# 1. Create a virtual environment named 'venv'
$ python3 -m venv venv

# 2. Activate the virtual environment
$ source venv/bin/activate

# 3. Verify activation (will show the path to the virtual env's python)
(venv) $ which python

# 4. Deactivate when done
(venv) $ deactivate
"""

commands_windows = """
# 1. Create a virtual environment named 'venv'
> python -m venv venv

# 2. Activate the virtual environment in Command Prompt
> venv\Scripts\activate

# 3. Or activate in PowerShell
> .\venv\Scripts\Activate.ps1

# 4. Deactivate when done
(venv) > deactivate
"""

print("macOS & Linux terminal commands:")
print(commands_macos_linux.strip())
print("\nWindows terminal commands:")
print(commands_windows.strip())
端子输出
macOS & Linux terminal commands:
# 1. Create a virtual environment named 'venv'
$ python3 -m venv venv

# 2. Activate the virtual environment
$ source venv/bin/activate

# 3. Verify activation (will show the path to the virtual env's python)
(venv) $ which python

# 4. Deactivate when done
(venv) $ deactivate

Windows terminal commands:
# 1. Create a virtual environment named 'venv'
> python -m venv venv

# 2. Activate the virtual environment in Command Prompt
> venv\Scripts\activate

# 3. Or activate in PowerShell
> .\venv\Scripts\Activate.ps1

# 4. Deactivate when done
(venv) > deactivate

逐步实施

  • 在项目终端中运行 python -m venv <env_name> 以生成环境文件。
  • 使用 source <env_name>/bin/activate (macOS/Linux) 或 <env_name>\Scripts\activate (Windows) 激活环境。
  • 使用 pip install 安装所需的包,以确保它们与该项目目录隔离。
  • 完成工作后,在终端 shell 中键入 deactivate 以退出虚拟环境。

常见问题解答

我应该在哪里创建虚拟环境文件夹?

直接在项目的根目录中创建它。通过将虚拟环境文件夹(例如 venv/)添加到 .gitignore 文件中,避免将其提交到 Git。

激活虚拟环境实际上有什么作用?

激活会暂时更新 shell 的 PATH 变量,将其指向虚拟环境的 bin 或 Scripts 文件夹,以便运行本地 python 和 pip 可执行文件,而不是系统范围的可执行文件。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。