## qpip

`qpip` 是一个对 `python -m pip` 的轻量封装，可以在安装 Python 包时自动使用更快的镜像源。

### 功能特性

- 始终使用当前 Python 解释器调用 `pip`，避免直接依赖独立的 `pip` 可执行文件。
- 仅在 `install`、`download`、`wheel`、`index`、`search` 这类需要联网的子命令上自动注入镜像源。
- 如果用户已经显式传入 `--index-url`、`--extra-index-url`、`--find-links` 或 `--no-index`，不会强行覆盖。
- 同时支持 `qpip tsinghua install numpy` 和 `qpip --mirror douban install pandas` 两种写法。
- 支持 `qpip i requests` 这样的 `pip install` 简写。
- 支持 `python -m qpip` 运行方式，并提供 `--dry-run` 用于预览最终命令。
- 命令行帮助、错误提示和镜像列表。

### 安装

```bash
pip install qpip
```

### 使用方法

```bash
qpip install requests
qpip i requests
qpip tsinghua install numpy
qpip tsinghua i numpy
qpip --mirror douban install pandas
qpip --dry-run install fastapi
qpip --list-mirrors
qpip --help
python -m qpip install rich
```

如果你要把以 `-` 开头的参数直接传给 `pip`，请在前面加上 `--`：

```bash
qpip -- --version
```

### 默认镜像

`qpip` 默认使用 `ali`。如果你想修改默认镜像，可以设置环境变量 `QPIP_DEFAULT_MIRROR`：

```bash
set QPIP_DEFAULT_MIRROR=tsinghua
qpip install httpx
```

### 支持的镜像源

- `ali`: `https://mirrors.aliyun.com/pypi/simple/`
- `tsinghua`: `https://pypi.tuna.tsinghua.edu.cn/simple/`
- `douban`: `https://pypi.doubanio.com/simple/`