如何创建并激活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 资源
通过相关的交互式教程、备忘单和代码比较来扩展您的知识。