跳转到主要内容

管理Python的隔离环境

项目描述

隔离

在任何你想要的机器上运行任何Python函数,无论其依赖关系。隔离提供了一个可插拔的端到端解决方案,用于构建、管理和使用隔离环境(virtualenv、conda、远程等)。

动机

XKCD 1987

几乎所有软件都使用一些其他库或程序,这是一个不可否认的事实。这些库或程序都带有它们自己的依赖关系,并且这个链条不断向前推进。一旦链条中有足够的“节点”,那么“依赖混乱”就开始显现,我们的生活变得更加艰难。

Python试图通过推荐“虚拟环境”概念来解决这个问题。从理论上讲,它旨在隔离不同项目之间的环境,因此我的项目A可以依赖于pandas==1.0.0,而项目B依赖于pandas==2.0.0,无论我选择哪个项目进行工作,只需激活它自己的环境即可。

总的来说,这是一个非常好的解决方案,并且确实有效,并且仍然适用于这种用途。但正如任何其他有范围限制的修复一样,随着时间的推移,其他问题开始出现,需要更窄的范围(例如定义模块级依赖关系,甚至云运行时的函数级依赖关系,以便与在不同机器上运行的其他代码无缝集成)。

然而,与“虚拟环境”概念不同,试图解决这个问题的大多数项目都缺乏一个通用接口,可以简单地定义一组要求(这可能是一组依赖关系、运行它所需的机器大小,或者完全不同的事情),并且可以更改它而不会造成任何损失。隔离正在朝着这样一个未来努力,在这个未来中,这种过渡将像从本地环境到远程环境的过渡一样无缝。

贡献

以可编辑模式安装,包含开发依赖项

pip install -e '.[dev]'

运行测试

pytest

Pre-commit

pre-commit install

提交格式

请遵循常规提交规范进行描述/消息。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

isolate-0.14.2.tar.gz (70.6 kB 查看哈希值)

上传时间

构建分发

isolate-0.14.2-py3-none-any.whl (72.1 kB 查看哈希值)

上传时间 Python 3

由支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面