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 生成)