Pipenv 命令完全指南:从安装到依赖管理
pipenv Python Development Workflow for Humans. 项目地址: https://gitcode.com/gh_mirrors/pi/pipenv
Pipenv 是 Python 项目中广泛使用的依赖管理工具,它结合了 pip 和 virtualenv 的功能,并引入了 Pipfile 和 Pipfile.lock 来更有效地管理项目依赖。本文将全面介绍 Pipenv 的核心命令及其使用场景,帮助开发者掌握这一强大的工具。
核心命令概览
Pipenv 提供了一系列命令来管理 Python 项目的依赖关系和环境。以下是主要命令的快速参考:
| 命令 | 功能描述 | |------|----------| | install
| 安装包或创建/更新虚拟环境 | | uninstall
| 从虚拟环境和 Pipfile 中移除包 | | lock
| 生成包含依赖关系和哈希值的 Pipfile.lock | | sync
| 根据 Pipfile.lock 安装依赖,不修改 lock 文件 | | update
| 更新依赖并安装(相当于 lock + sync) | | upgrade
| 更新指定依赖的锁定版本但不安装 | | check
| 检查安全问题和 PEP 508 合规性 | | scan
| 增强版安全检查(替代 check 命令) | | shell
| 在虚拟环境中启动 shell | | run
| 在虚拟环境中运行命令 | | graph
| 显示依赖关系图 | | clean
| 移除未在 Pipfile.lock 中指定的包 | | verify
| 验证 Pipfile.lock 哈希是否最新 | | requirements
| 从 Pipfile.lock 生成 requirements.txt | | scripts
| 列出环境中定义的脚本 | | open
| 在编辑器中打开 Python 模块 |
安装与管理依赖
pipenv install
install
是 Pipenv 中最常用的命令,用于安装包到虚拟环境并更新 Pipfile 和 Pipfile.lock。
基本用法:
pipenv install [包名]
典型场景:
- 初始化项目时安装依赖:
pipenv install
- 安装特定包并指定版本约束:
pipenv install "requests>=2.20.0"
- 从 Git 仓库安装包:
pipenv install -e git+https://github.com/requests/requests.git@master#egg=requests
- 安装开发依赖:
pipenv install pytest --dev
重要变化: 在 Pipenv 2024 版本之前,每次运行 install
都会重新锁定依赖关系。现在改为仅在添加或更改包时才更新 lock 文件。如需完全重新锁定,应使用 pipenv lock
命令。
pipenv sync
sync
命令根据 Pipfile.lock 精确安装依赖,适用于生产环境部署。
使用示例:
pipenv sync # 仅安装默认依赖
pipenv sync --dev # 安装所有依赖(包括开发依赖)
依赖更新与移除
pipenv update
update
命令是更新依赖的一站式解决方案,相当于 lock
+ sync
。
更新所有依赖:
pipenv update
更新特定包:
pipenv update requests pytest
pipenv uninstall
移除不再需要的依赖:
pipenv uninstall requests # 移除单个包
pipenv uninstall --all # 移除所有包
依赖锁定与验证
pipenv lock
生成精确的依赖锁定文件:
pipenv lock # 生成/更新 Pipfile.lock
pipenv lock --pre # 包含预发布版本
pipenv verify
在 CI/CD 流程中验证 lock 文件是否最新:
pipenv verify
安全检查
pipenv scan(推荐)
替代原有的 check
命令,提供更强大的安全检查:
pipenv scan
环境操作
pipenv shell
进入虚拟环境:
pipenv shell
pipenv run
在虚拟环境中执行命令:
pipenv run python script.py
pipenv run pytest
依赖分析
pipenv graph
可视化依赖关系:
pipenv graph # 显示依赖树
pipenv graph --reverse # 显示反向依赖
pipenv requirements
生成传统 requirements.txt:
pipenv requirements # 基本格式
pipenv requirements --hash # 包含哈希值
实用工具
pipenv clean
清理未使用的包:
pipenv clean # 实际清理
pipenv clean --dry-run # 模拟清理
pipenv open
快速打开模块代码:
pipenv open requests # 在编辑器中打开 requests 模块
最佳实践建议
- 开发与生产分离:使用
--dev
标记区分开发依赖 - 版本控制:同时提交 Pipfile 和 Pipfile.lock
- 部署流程:生产环境使用
pipenv sync
而非pipenv install
- 定期更新:使用
pipenv update
保持依赖最新 - 安全检查:将
pipenv scan
纳入 CI 流程
通过掌握这些命令,开发者可以高效地管理 Python 项目依赖,确保开发和生产环境的一致性。Pipenv 的这套工具链为 Python 项目提供了从开发到部署的完整解决方案。
pipenv Python Development Workflow for Humans. 项目地址: https://gitcode.com/gh_mirrors/pi/pipenv
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考