====== 第二十二章:虚拟环境与包管理 ======
===== 本章目标 =====
完成本章学习后,你将能够:
* 创建和管理虚拟环境
* 使用pip管理包
* 理解依赖管理
* 打包和发布Python项目
===== 虚拟环境 =====
==== venv模块 ====
# 创建虚拟环境
python -m venv myenv
# 激活
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate
# 退出
deactivate
==== conda环境 ====
# 创建环境
conda create -n myenv python=3.11
# 激活/退出
conda activate myenv
conda deactivate
# 删除环境
conda remove -n myenv --all
===== pip包管理 =====
# 安装
pip install package_name
pip install package==1.2.3
pip install package>=1.0,<2.0
# 从requirements安装
pip install -r requirements.txt
# 导出依赖
pip freeze > requirements.txt
# 卸载
pip uninstall package_name
# 列出已安装
pip list
pip list --outdated
===== requirements.txt =====
# 精确版本
requests==2.28.1
numpy==1.23.0
# 最低版本
flask>=2.0.0
# 版本范围
django>=3.0,<4.0
# 可选依赖
pytest>=6.0; extra == "test"
===== 打包与发布 =====
# pyproject.toml
[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "my_package"
version = "1.0.0"
description = "A sample package"
readme = "README.md"
requires-python = ">=3.8"
license = {text = "MIT"}
authors = [
{name = "Your Name", email = "your@email.com"}
]
dependencies = [
"requests>=2.0",
"numpy>=1.20"
]
[project.optional-dependencies]
dev = ["pytest", "black", "flake8"]
===== 本章练习 =====
1. 创建并管理虚拟环境
2. 编写requirements.txt
3. 打包并发布到PyPI测试
下一章:[[python_course:chapter23|第二十三章:os与sys模块]]