一款 Python 虚拟环境与依赖管理工具,把 pip 和 virtualenv 整合在一起,通过 Pipfile 和锁文件实现可复现构建。
jaraco/pip-run
一个 Python 启动工具,单次运行时临时安装依赖,运行结束后自动清理。
- Star
- 143
- Fork
- 21
- 未关闭 Issue
- 12
- 最近提交
- 9天前
这是什么?
pip-run 是一个命令行工具,用于在带依赖的环境中运行 Python 代码。依赖按需安装,进程退出后自动移除。使用时把包名直接写在 pip-run 后面,可附加 pip install 的参数,再用 `--` 指定要执行的脚本、模块或命令,省去手动创建虚拟环境、安装、运行、删除的过程。
工具可以根据脚本中的 import 自动推断依赖,也能读取 `__requires__` 变量或内联脚本元数据中声明的依赖。它支持用 `-m` 运行模块、执行控制台脚本,也可以进入带依赖的交互式解释器。安装的包放在临时目录中,pip 的下载缓存则会被复用。如果启用持久化模式,环境会保存在用户缓存中,并可设置最长保留时间。
它面向脚本运行、测试、实验、问题排查等一次性场景,不用于生产环境的依赖管理。不支持可编辑安装(`-e`)形式的依赖。
核心功能
- 01根据 import 语句或脚本中声明的元数据推断依赖。
- 02将包安装到临时目录,运行结束后自动清理。
- 03可在依赖环境中运行模块、控制台脚本、Python 文件或交互式解释器。
- 04参数透传给 pip install,并复用 pip 的下载缓存。
- 05提供可选的持久化模式,并可设置缓存最长保留时间。
适用场景
- 无需建立项目即可运行依赖第三方包的单个 Python 脚本。
- 在交互式会话中试用某个库,不改动系统环境。
- 用临时依赖运行测试工具或构建工具。
- 借助 shebang 行创建自包含的单文件 Python 工具。
快速上手
- 1
将 pip-run 与 pip 一起安装到系统 site packages 中(参见 README 的安装部分)
- 2
运行一个模块,并临时安装依赖,此处以 cowsay 为例
pip-run cowsay -- -m cowsay "moove over, pip-run" - 3
运行一个脚本,依赖由其导入语句自动推断
pip-run requests myscript.py
使用前须知
- README 明确指出它不适用于生产环境的依赖管理。
- 项目元数据中未列出许可证。
标签
常见问题
- pip-run 是什么?
- 一个 Python 启动工具,单次运行时临时安装依赖,运行结束后自动清理。 pip-run 是一个命令行工具,用于在带依赖的环境中运行 Python 代码。依赖按需安装,进程退出后自动移除。使用时把包名直接写在 pip-run 后面,可附加 pip install 的参数,再用 `--` 指定要执行的脚本、模块或命令,省去手动创建虚拟环境、安装、运行、删除的过程。
- pip-run 可以免费使用吗?用的什么许可证?
- pip-run 没有声明许可证。代码虽然公开,但没有许可证就没有明确的使用授权,正式使用前建议先联系作者。
- pip-run 还在维护吗?
- 活跃维护中。pip-run 最近一次提交是在 2026年10月29日。
- pip-run 适合用来做什么?
- 无需建立项目即可运行依赖第三方包的单个 Python 脚本。 在交互式会话中试用某个库,不改动系统环境。 用临时依赖运行测试工具或构建工具。 借助 shebang 行创建自包含的单文件 Python 工具。
- pip-run 怎么安装和运行?
- 将 pip-run 与 pip 一起安装到系统 site packages 中(参见 README 的安装部分) 运行一个模块,并临时安装依赖,此处以 cowsay 为例: pip-run cowsay -- -m cowsay "moove over, pip-run" 运行一个脚本,依赖由其导入语句自动推断: pip-run requests myscript.py
- 在哪里获取 pip-run?
- 源代码和安装说明在 GitHub 上:https://github.com/jaraco/pip-run
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Python 工具,可将应用及其依赖打包成单个可执行的 .pex 文件,类似可移植的虚拟环境。
用 Rust 编写的极速 Python 包与项目管理工具,可替代 pip、virtualenv、pyenv 等多种工具。
一组命令行工具(pip-compile 与 pip-sync),用于将 Python 依赖锁定为可复现的 requirements 文件,并让虚拟环境与之保持同步。
一个基于 Python 的工具,用于创建相互隔离的 Node.js 虚拟环境,可与 Python virtualenv 集成。
一个 Composer 命令行工具,通过扫描代码找出项目中声明但未实际使用的依赖包。