目录

第二十二章:虚拟环境与包管理

本章目标

完成本章学习后,你将能够:

虚拟环境

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测试

下一章:第二十三章:os与sys模块