下载工作台
Python 编程实战

虚拟环境与 pip 包管理

试读上半部分 · 解锁后可读全文

第 10 章 · 虚拟环境与 pip

本章目标:深入理解 venvConda 隔离原理;熟练 pip install / freeze / uninstall;会编写 requirements.txt;配置国内镜像与 pip config;在 py-learn 环境中为 shop-demo 与后续 blogdemo 管理依赖;了解版本号语义与常见冲突排查。

学时建议:2~3 小时(含 1 小时实操)

前置ch01 环境安装;建议已学 ch02~ch09 任一练习项目。


10.1 为什么需要虚拟环境

问题无隔离时有虚拟环境
项目 A 要 Django 4.2全局只能装一个版本每项目独立
项目 B 要 Django 5.0升级导致 A 损坏互不影响
系统 Python误改系统包练习在独立目录
系统 Python
  └── 全局 site-packages(尽量不装项目依赖)

~/python-learn/
  ├── shop-demo/.venv/
  ├── blogdemo/.venv/
  └── py-learn(Conda 环境名示例)
环境名请使用 py-learnweb-demo教学用名称,勿与任何生产系统同名。

10.2 venv 完整流程

cd ~/python-learn/shop-demo
python -m venv .venv

# Windows PowerShell
.venv\Scripts\Activate.ps1

# Windows CMD
.venv\Scripts\activate.bat

# macOS / Linux
source .venv/bin/activate

python --version
pip --version
which python    # macOS/Linux
where python    # Windows

激活后提示符前会出现 (.venv)

命令作用
deactivate退出当前 venv
python -m venv .venv创建环境
删除 .venv 文件夹彻底移除环境

10.3 pip 常用命令

pip install requests
pip install "Django>=4.2,<5"
pip install -r requirements.txt
pip install -e .              # 可编辑安装本地包(选修)

pip list
pip show requests
pip freeze > requirements.txt
pip uninstall requests -y
场景命令
升级 pippython -m pip install --upgrade pip
指定版本pip install package==2.31.0
仅下载不装pip download -r requirements.txt

始终用当前环境的 python 调用 pip

python -m pip install requests

避免 pip 指向错误 Python。


10.4 requirements.txt

# shop-demo 教学依赖示例
requests==2.31.0
python-dateutil>=2.8.2,<3
pip install -r requirements.txt
写法含义
package==1.2.3精确版本(生产常用)
package>=1.0最低版本
package~=2.0兼容 2.x

生成:

pip freeze > requirements.txt

手工维护时只列直接依赖,传递依赖由 pip 解析(可选 pip-tools 进阶)。


10.5 国内镜像与 pip config

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn
镜像(示例)URL
清华https://pypi.tuna.tsinghua.edu.cn/simple
阿里云https://mirrors.aliyun.com/pypi/simple/

临时使用:

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

配置文件位置:

系统路径
Windows%APPDATA%\pip\pip.ini
Linux/macOS~/.config/pip/pip.conf

以下内容需解锁后阅读

试读已结束。解锁本章 ¥5.00,或开通年度会员畅读全部教程。
年度会员 ¥199.00/年; 小紫 AI 工作台有效会员 ¥99.00/年

正文仅在服务端鉴权后下发,未付费无法获取下半部分内容。