7个Python环境管理工具

发布时间:2025-01-25 00:05

知识管理工具7: Notion可定制化笔记与项目管理,适合个人或团队使用。 #生活技巧# #工作学习技巧# #知识管理工具#

通常,Python是一种非常灵活的编程语言--这一特性也体现到其环境管理中。不幸的是,这可能意味着您的Python安装变得混乱不堪。存在大量的环境管理工具来试图控制这种混乱……但是最终可能会变得更加复杂,尤其是对于新的Python开发人员而言!

在这篇文章中,我们将介绍可用工具的优缺点,以便您可以对如何安装python环境做出明智的决定。实际上,我们只需要在一些原则上达成共识:

虚拟化是您的好帮手:避免每个项目之间的依赖冲突,实现项目之间互相隔离的Python环境可以使您的生活变得无比轻松

项目应该是可复制的:依赖关系越紧密,您自己或其他开发人员实时复制代码的运行环境时就越容易

自包含=可部署:所有的环境和依赖打包发布越容易,项目在不同的系统上运行(例如从开发环境迁移到部署)就越容易

所有Python虚拟化解决方案都可以满足这些要求-尽管像其他任何工具一样,您会发现关于哪种最好的强烈观点!我们的目标是使您能够就您的Python环境做出明智的决定,并为自己省去一些麻烦。我们将从最简单的低级标准工具开始,并逐步研究更新,更强大(尽管有时更深奥和更多限制)的选项,并一路讨论优缺点-我鼓励您考虑所有能够满足您项目的需求的选项 。

到底是谁的环境?

首先,新的Python程序员可能会想知道-当我们说环境控制时,我们在谈论什么?大致而言,我们希望了解三个控制级别:

已安装的python包:我们可以将什么导入到正在运行的Python实例中?

已安装的python二进制文件本身:我们实际上在运行什么版本和具有什么特色的Python?

非python,系统级的依存关系:数字包底层的C / C ++工具链之类的东西怎么办?

如果能够显式地控制项目中的任何(或全部)事物,打包项目并使其在新的环境中启动和运行变得容易得多。最简单的说,Python中的大多数虚拟化工具都会创建一个虚拟环境,如下所示:

image.gif

这样的目录包含运行Python实例需要的所有内容-bin中的二进制文件和可调用脚本(如特定环境的python可执行文件),lib中已安装的所有Python软件包以及所需的任何其他非Python头文件和配置。通过设置指向该目录的系统路径(通常使用激活脚本来完成),我们可以运行一个完全独立的Python版本,包括其可执行文件,已安装的软件包等。永远不要在此目录之外引用Python工具。除了项目独立的优势外,这也适用于需要在没有root权限的系统上运行Python的情况,因为我们可以在具有用户权限的位置中创建虚拟环境。

由于虚拟环境有自己的pip软件包管理器,因此将软件包安装到环境中很简单-我们只要在环境运行时简单地进行pip install即可,并且这些软件包会被放置在正确的位置。这也使我们可以指定环境的依赖-我们可以仅使用已知的Python版本(因为我们要使用相同的可执行文件)和列出了所需软件包及其版本的requirements.txt文件来重新创建环境,这些设置直接作用于pip install命令。

由于环境激活是由系统路径变量控制的,因此从技术上讲,我们可以将该目录放置在任何地方-不需要把环境包和项目放在一起,正如Node.js项目一样。保留虚拟环境及其关联的项目代码(假定它不被git记录,因为我们只需要实际追踪Python版本和requirements 文件,则可能会很有用),但是当您为所有的Python项目使用集中式目录时也同样适用。

因此,不用多说,让我们看看我们在环境管理方面有哪些选择!

内置:****venv

从3.3版开始,Python标准库附带了一个简单的内置工具venv,为了创建虚拟环境。只需调用

14510093-c6c03ef7ee3dd41d

image

(根据需要替换您的venv路径)将在指定目录中创建上述虚拟环境以及启动脚本-通过调用可以用来激活或停用该环境

14510093-70f1f8d0ef5b3940

image

激活后,pip install(独立软件包或来自requirements 文件)将按预期工作。要打包一个虚拟环境以在别处复制,您只需要生成一个包含环境内容的requirements 文件:

14510093-fe41254bc638352f

image

如果环境处于活动状态,则会生成一个requirements 文件,该文件可以安装到另一个系统上的全新虚拟环境中。

优点:

Python附带,无需其他工具

创建一个几乎可以使用所有工具的标准虚拟环境:Requirements.txt适用于任何使用pip的环境管理器

缺点:

只能管理安装的软件包:会适用任意Python来创建环境,因此您仍然无法人工管理Python版本

除了pip安装可用以外别无选择

比venv更多:****virtualenv

实际上,有一个较旧的工具(可追溯到Python 2.x)可创建这些环境。实际上,venv是通过将virtualenv功能的子集引入Python 3.3+标准库中而创建的。仍然可以通过pip支持和安装该工具-尽管用户应注意,该工具仅适用于当前处于活动状态的Python(系统默认安装)。为了避免与系统软件包冲突(以及在用户缺乏安装到系统Python所需权限的情况下),可以使用pip install --user virtualenv在每个用户的基础上进行安装。安装后,调用类似于venv:

image.gif

在指定位置创建一个虚拟环境目录,可以像venv一样激活/停用该目录。值得注意的是,我们可以选择提供一个可调用的Python--venv为调用它的Python创建一个环境,virtualenv可以为系统上可用的任何Python安装创建一个环境,这意味着我们只通过从系统Python运行一个工具便能为其他Python创建环境(如果省略了-p选项,则默认为使用当前活动的Python版本)。创建后,pip install指令将依据名称或requirements 文件工作。

优点:

创建与venv相同的标准虚拟环境,可与大多数工具完美配合

可以通过相同的调用为任何已安装的Python创建环境

包括一些高级功能,例如能够为环境创建引导脚本的功能

缺点:

<

网址:7个Python环境管理工具 https://www.yuejiaxmz.com/news/view/739375

相关内容

pyenv =》python 版本和python 开发工作环境管理神器下载
python写个小工具
【编程学习】7个超级好用的提升Python效率工具
使用Python实现个人财务管理工具
Python:任务自动化工具
推荐七个Python效率工具!
【Python学习】趣味工具
Python任务管理实践:自动化工作流程
(开题)flask框架个人任务管理系统APP(程序+论文+python)
用python做一个任务管理系统

随便看看