python中的依赖管理综合指南

掌握虚拟环境的管理,Python的依赖性管理综合指南首先出现在数据科学方面。

来源:走向数据科学

简介

学习Python时,许多初学者仅专注于语言及其库,同时完全忽略虚拟环境。结果,管理Python项目可能会变得一团糟:为不同项目安装的依赖项可能具有冲突的版本,从而导致兼容性问题。

即使我研究Python,也没有人强调虚拟环境的重要性,我现在觉得这很奇怪。它们是将不同项目彼此隔离的非常有用的工具。

在本文中,我将解释虚拟环境如何工作,提供多个示例并共享有用的命令来管理它们。

问题

想象一下,您的笔记本电脑上有两个Python项目,每个项目都位于其他目录中。您意识到需要为第一个项目安装最新版本的库A。稍后,您切换到第二个项目并尝试安装库B。

这是一个问题:库B取决于库A,但是它需要与您之前安装的版本不同的版本。

库B取决于库A,但它需要与您之前安装的版本不同的版本

由于您尚未使用任何用于依赖性管理的工具,因此所有依赖项均在您的计算机上安装。由于库A的不兼容版本,您在尝试安装库B时会遇到错误。

依赖管理

解决方案

为了防止此类问题,使用虚拟环境。这个想法是为每个Python项目分配一个单独的存储空间。每个存储将以孤立的方式包含针对特定项目的所有外部下载的依赖项。

python

更具体地说,如果我们在其自己的虚拟环境中为两个项目下载了同一库A,则将在每个环境中下载库A两次。此外,由于每个环境都完全隔离并且与其他环境不相互作用,因此库的版本可能会有所不同。

Python中的虚拟环境

VENV