简介
Python 开发需要强大的环境管理,以确保不同项目之间的代码一致性和可重复性。本教程探讨创建隔离的 Python 环境的基本技术,帮助开发者有效地管理依赖项,并保持开发工作流程的简洁和有序。
Python 开发需要强大的环境管理,以确保不同项目之间的代码一致性和可重复性。本教程探讨创建隔离的 Python 环境的基本技术,帮助开发者有效地管理依赖项,并保持开发工作流程的简洁和有序。
Python 环境是一个独立的目录,其中包含特定的 Python 解释器和一组已安装的库。它允许开发者为不同的项目创建隔离的空间,确保依赖项和包版本不会相互冲突。
隔离环境解决了 Python 开发中的几个关键挑战:
| 挑战 | 解决方案 |
|---|---|
| 依赖冲突 | 每个项目可以有自己的一组依赖项 |
| 版本管理 | 不同的项目可以使用不同的 Python 版本 |
| 可重复性 | 轻松重现完全相同的开发设置 |
venv 模块是 Python 标准库中用于创建轻量级虚拟环境的解决方案。它随 Python 3.3+ 一起预安装。
默认情况下,Python 会全局安装包,这可能会导致潜在的冲突:
## 全局包安装
sudo apt update
sudo apt install python3-pip
pip3 install requests ## 全局安装
在 LabEx,我们建议在大多数 Python 开发场景中使用 venv,特别是对于学习环境管理的初学者。
## 安装 Python3 和 pip
sudo apt update
sudo apt install python3-venv python3-pip
## 创建一个新的虚拟环境
python3 -m venv myproject_env
## 激活环境
source myproject_env/bin/activate
## 验证 Python 路径
which python
| 阶段 | 命令 | 目的 |
|---|---|---|
| 创建 | python3 -m venv env_name |
初始化新环境 |
| 激活 | source env_name/bin/activate |
进入隔离空间 |
| 安装包 | pip install package_name |
添加项目依赖项 |
| 停用 | deactivate |
退出虚拟环境 |
## 使用特定 Python 版本创建环境
python3.9 -m venv myproject_env
python3.10 -m venv another_env
## 生成需求文件
pip freeze > requirements.txt
## 从需求文件安装
pip install -r requirements.txt
.gitignore 中包含 .venv## 检查当前环境
python --version
pip list
which python
## 激活虚拟环境
source myproject_env/bin/activate
## 安装特定包
pip install requests
## 安装指定版本
pip install'requests==2.26.0'
pip install'requests>=2.25.0,<2.27.0'
## 生成当前环境的依赖项
pip freeze > requirements.txt
## requirements.txt 的示例内容
## requests==2.26.0
## numpy==1.21.2
## pandas==1.3.3
| 技术 | 描述 | 命令 |
|---|---|---|
| 安装 | 添加新包 | pip install package |
| 卸载 | 移除包 | pip uninstall package |
| 升级 | 更新包 | pip install --upgrade package |
| 列出 | 显示已安装的包 | pip list |
## 安装精确版本
pip install 'package==1.2.3'
## 安装最低版本
pip install 'package>=1.2.3'
## 安装版本范围
pip install 'package>=1.2.3,<2.0.0'
## 创建虚拟环境
python3 -m venv project_env
## 激活环境
source project_env/bin/activate
## 安装依赖项
pip install -r requirements.txt
## 进行项目工作
#...
## 完成后停用
deactivate
## 检查安全漏洞
pip check
## 升级 pip 自身
pip install --upgrade pip
通过掌握 Python 环境的设置和管理,开发者可以简化开发流程,防止依赖冲突,并创建更易于维护和扩展的 Python 项目。理解虚拟环境对于专业的 Python 编程至关重要,它能确保在不同系统和开发阶段实现顺畅、可重现的代码部署。