Pipenv 是 Python 中集成了虚拟环境和依赖管理的工具,能够自动管理 Pipfile 和 Pipfile.lock,避免依赖冲突。下面为你详细介绍它的用法:

1. 安装 Pipenv

pip install pipenv

2. 创建虚拟环境与项目初始化

# 在项目目录下执行(会自动创建虚拟环境)
pipenv install

# 指定 Python 版本
pipenv –python 3.9

3. 添加依赖

# 添加生产环境依赖
pipenv install requests

# 添加开发环境依赖(如测试工具)
pipenv install pytest –dev

# 添加特定版本
pipenv install flask==2.0.1

4. 安装依赖

# 安装所有依赖(包括开发环境)
pipenv install

# 只安装生产环境依赖
pipenv install –deploy –ignore-pipfile

# 根据 Pipfile.lock 精确安装
pipenv sync

5. 移除依赖

pipenv uninstall requests
pipenv uninstall –all  # 移除所有依赖
pipenv uninstall –all-dev  # 移除所有开发环境依赖

6. 虚拟环境操作

# 进入虚拟环境 shell
pipenv shell

# 直接在虚拟环境中执行命令
pipenv run python main.py
pipenv run pytest # 查看虚拟环境路径
pipenv –venv

# 删除虚拟环境
pipenv –rm

7. 依赖管理文件

  • Pipfile:记录项目依赖的元数据,包括版本范围、源等。
  • Pipfile.lock:锁定所有依赖的确切版本,确保环境可重现。
# 生成或更新 Pipfile.lock
pipenv lock

# 查看依赖图
pipenv graph

# 检查安全漏洞
pipenv check

8. 与 requirements.txt 互转

# 导出为 requirements.txt
pipenv lock -r > requirements.txt  # 生产环境
pipenv lock -r –dev > dev-requirements.txt  # 开发环境

# 从 requirements.txt 导入
pipenv install -r requirements.txt

9. 其他常用命令

# 查看帮助
pipenv –help

# 查看 Pipenv 版本
pipenv –version

# 检查环境是否健康
pipenv –support

使用示例

# 初始化新项目
mkdir myproject && cd myproject
pipenv –python 3.9 pipenv install flask

# 编辑 app.py
echo ‘from flask import Flask; app = Flask(__name__);
@app.route(“/”): def hello(): return “Hello World!”‘ > app.py

# 运行应用 pipenv run flask run

注意事项

  • Pipfile.lock 的重要性:在生产环境部署时,必须使用 pipenv sync 确保依赖版本一致。
  • 版本控制:将 Pipfile 和 Pipfile.lock 加入版本控制系统(如 Git)。
  • 环境变量:可在项目根目录创建 .env 文件存储环境变量,pipenv shell 会自动加载。

Pipenv 简化了 Python 项目的环境管理流程,适合从个人项目到团队协作的各种场景。

(注:文档部分内容可能由 AI 生成)