# Python 包管理使用教程

## 目录

- [一 安装 Python](#一-安装-python)
- [二 什么是 pip](#二-什么是-pip)
- [三 使用 pip 安装包](#三-使用-pip-安装包)
- [四 查看已安装的包](#四-查看已安装的包)
- [五 卸载 Python 包](#五-卸载-python-包)
- [六 如何确认包已经彻底卸载](#六-如何确认包已经彻底卸载)
- [七 如何查看 Python 安装路径](#七-如何查看-python-安装路径)
- [八 虚拟环境（强烈推荐）](#八-虚拟环境强烈推荐)
- [九 创建虚拟环境](#九-创建虚拟环境) 
- [十 激活虚拟环境](#十-激活虚拟环境)
- [十一 退出虚拟环境](#十一-退出虚拟环境)
- [十二 总结](#十二-总结)



### 一 安装 Python

推荐使用官方安装包，而不是 Microsoft Store。

访问 [Python 官方下载页面](https://www.python.org/downloads/windows/)：

(可选)下载 Python install manager 以便于管理多个 Python 版本.

验证安装

打开 PowerShell：

```powershell
python --version
```

或者：

```powershell
py --version
```

### 二 什么是 pip
pip 是 Python 的包管理工具，用于安装和管理 Python 包。它允许你从 Python 包索引（PyPI）安装和卸载包，以及管理包的依赖关系。

类似于:

|软件|包管理器|
|:---:|:---:|
|Python|pip|
|Node.js|npm|
|Linux|apt|

### 三 使用 pip 安装包
使用 pip 安装包非常简单。打开 PowerShell，输入以下命令：

```powershell
pip install 包名
```

例如，要安装 requests 包：

```powershell
pip install requests
```

(可选)指定版本安装

```powershell
pip install requests==2.32.0
```

(可选)升级包

```powershell
pip install --upgrade requests
```

(可选)卸载包

```powershell
pip uninstall requests
```

一次安装多个包

```powershell
pip install numpy pillow requests
```

### 四 查看已安装的包

要查看已安装的包，可以使用以下命令：

```powershell
pip list
```

查看某个包的详细信息：

```powershell
pip show 包名
```
例如：

```powershell
pip show requests
```

查看依赖关系（高级）

```powershell
pip show 包名 --verbose
```

### 五 卸载 Python 包

要卸载 Python 包，可以使用以下命令：

```powershell
pip uninstall 包名
```

例如，要卸载 requests 包：

```powershell
pip uninstall requests
```

### 六 如何确认包已经彻底卸载

卸载包后，可以使用以下命令确认包已经彻底卸载：

```powershell
pip show 包名
```
如果包已经卸载，命令将返回 "WARNING: Package(s) not found: 包名"。

(可选)检查 site-packages 残留（非常重要）

Python 包通常安装在：

```
Python\Lib\site-packages
```

查看位置：

```powershell
python -m site
```

找到 

```
site-packages
```

的路径，进入该目录，确认包文件夹已经被删除。

进入后检查：

是否还有：

```
requests
requests-xxx.dist-info
```
如果有，说明包没有彻底卸载，需要手动删除这些文件夹。

#### dist-info 是什么?

很多人以为卸载后只删除包目录即可。

实际上：

Python 包还会生成：

```
xxx.dist-info
```

里面保存：

- 版本信息
- 依赖信息
- 元数据

如果残留,可能导致：

- pip 识别异常
- 版本冲突
- 幽灵依赖

#### 手动删除残留

例如：

```
Lib\site-packages\requests
Lib\site-packages\requests-2.32.0.dist-info
```

可以手动删除。

### 七 如何查看 Python 安装路径

可以使用以下命令查看 Python 的安装路径：

```powershell
where python
```

或者：

```powershell
where py
```

### 八 虚拟环境（强烈推荐）

Q: 为什么需要虚拟环境?
A: 虚拟环境允许你在同一台机器上为不同的项目创建独立的 Python 环境。每个虚拟环境都有自己的 Python 解释器和包安装目录，这样可以避免不同项目之间的包版本冲突。

例如：

|项目|使用的 requests 版本|
|:---:|:---:|
|项目A|2.32.0|
|项目B|2.31.0|

可能互相冲突。

### 九 创建虚拟环境

进入项目目录：

```powershell
cd 项目目录
```

创建虚拟环境：

```powershell
python -m venv venv
```
这将在项目目录下创建一个名为 `venv` 的虚拟环境。

### 十 激活虚拟环境

在 Windows 上，使用以下命令激活虚拟环境：

```powershell
.\venv\Scripts\activate
```

激活后，命令提示符会显示虚拟环境的名称，例如：

```
(venv) PS C:\项目目录>
```

现在你可以在虚拟环境中安装包了：

```powershell
pip install requests
```

# 十一 退出虚拟环境

要退出虚拟环境，可以使用以下命令：

```powershell
deactivate
```

# 十二 总结
- pip 是 Python 的包管理工具，用于安装和管理 Python 包。
- 使用 pip 安装包非常简单，可以指定版本、升级和卸载包。
- 虚拟环境是管理不同项目依赖关系的重要工具，可以有效避免包版本冲突。
- 卸载包后要检查 site-packages 是否有残留，确保包彻底卸载。

