无法使用 pipenv install,可以试试:
pipenv --rm
pipenv install
还是不行的话:
pipenv lock --clear
pipenv lock
`pipenv` 是一个用于管理 Python 项目依赖的工具,它结合了 `pip` 和 `virtualenv` 的功能,能够帮助用户更方便地创建虚拟环境、管理依赖包,并生成 `Pipfile` 和 `Pipfile.lock` 文件,从而实现项目的依赖隔离和版本锁定。以下是 `pipenv` 的基本使用方法:
### 1. 安装 Pipenv
如果尚未安装 `pipenv`,可以通过以下命令进行安装:
```bash
pip install pipenv
```
### 2. 初始化项目并创建虚拟环境
在项目目录下运行以下命令,`pipenv` 会自动创建一个虚拟环境,并生成 `Pipfile` 文件:
```bash
pipenv install
```
- 如果是新项目,`Pipfile` 文件会自动生成。
- 如果项目中已经存在 `requirements.txt` 文件,`pipenv` 会将其内容导入到 `Pipfile` 中。
### 3. 安装依赖包
#### 安装普通依赖
```bash
pipenv install 包名
```
例如:
```bash
pipenv install requests
```
这会将 `requests` 包添加到 `Pipfile` 的 `[packages]` 部分。
#### 安装开发依赖
开发依赖是指仅在开发过程中需要的包,例如测试工具、代码格式化工具等。可以通过以下命令安装开发依赖:
```bash
pipenv install 包名 --dev
```
例如:
```bash
pipenv install pytest --dev
```
这会将 `pytest` 包添加到 `Pipfile` 的 `[dev-packages]` 部分。
### 4. 激活虚拟环境
在项目目录下运行以下命令,激活虚拟环境:
```bash
pipenv shell
```
激活后,所有安装的包都会在虚拟环境中生效,不会影响全局环境。
### 5. 退出虚拟环境
在虚拟环境中运行以下命令,退出虚拟环境:
```bash
exit
```
### 6. 安装所有依赖
如果项目已经存在 `Pipfile`,可以通过以下命令安装所有依赖(包括普通依赖和开发依赖):
```bash
pipenv install
```
### 7. 锁定依赖版本
运行以下命令生成 `Pipfile.lock` 文件,锁定所有依赖包的版本:
```bash
pipenv lock
```
`Pipfile.lock` 文件会记录每个依赖包的具体版本号,确保在不同环境中安装的依赖版本一致。
### 8. 查看项目依赖
运行以下命令查看项目的依赖树:
```bash
pipenv graph
```
### 9. 卸载依赖
#### 卸载普通依赖
```bash
pipenv uninstall 包名
```
#### 卸载开发依赖
```bash
pipenv uninstall 包名 --dev
```
### 10. 清理未使用的依赖
运行以下命令清理项目中未使用的依赖包:
```bash
pipenv clean
```
### 11. 使用清华源
如果需要使用清华源来安装依赖,可以在 `Pipfile` 中指定源:
```toml
[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true
name = "tuna"
```
然后运行以下命令安装依赖:
```bash
pipenv install --pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple
```
### 示例
假设你正在开发一个名为 `my_project` 的 Python 项目,以下是使用 `pipenv` 的完整流程:
1. **创建项目目录并初始化**:
```bash
mkdir my_project
cd my_project
pipenv install
```
2. **安装依赖**:
```bash
pipenv install requests
pipenv install pytest --dev
```
3. **激活虚拟环境**:
```bash
pipenv shell
```
4. **运行项目代码**:
```bash
python my_script.py
```
5. **退出虚拟环境**:
```bash
exit
```
6. **锁定依赖版本**:
```bash
pipenv lock
```
7. **查看依赖树**:
```bash
pipenv graph
```
通过使用 `pipenv`,可以更方便地管理项目的依赖关系,确保项目的可移植性和可复现性。