企业开发人员Python包管理指南

包管理还在继续发展,但是传统的Python包管理器跟不上。在企业中工作的Python开发人员必须处理这些后果,包括:

  • 贫穷的环境中再现性-不同环境的配置略有不同,会导致“在我的机器上工作”的问题和浪费时间复制错误,推迟上市时间。
  • 供应链安全-使用包管理器安装未签名的二进制文件很方便,但有风险。另一方面,从源代码为多个操作系统构建包是痛苦的,特别是当它们需要链接的C库时。
  • 选择正确的包/版本-您如何确保您总是选择正确的、经过批准的组织所需的开源组件和版本?
  • 修复漏洞调查漏洞,修补/更新组件和重建环境都是时间和资源密集型的,留给编码的时间更少。

如果你正在处理这些问题,那么这份白皮书就是为你准备的。它解释了采用ActiveState平台将如何帮助您解决这些188bet金宝搏备用问题,允许您花费更多的时间编码,而更少的时间管理Python包和环境。所有这些都意味着你更有可能按时完成你的sprint交付任务!

下载白皮书

作为Python程序员,您知道包管理工作已经进行了几十年。狭义地说,包管理是安装、配置、升级和卸载包及其依赖项的能力。然而,在实践中,包管理更广泛地关注于管理通过在特定版本的操作系统(OS)上针对特定编程语言的特定版本安装多个包而创建的开发环境。

尽管pip长期以来一直是安装和管理Python包的标准,但它并没有解决围绕环境和依赖项管理的关键问题,比如创建和管理虚拟环境或依赖项解析。许多解决方案已经被引入,试图弥合这一差距,包括venv、virtualenv、pyenv、pipenv等。

还有其他可用的包管理器,如用于Anaconda Python的conda,或用于特定OS发行版的apt和yum。所有这些替代的生态系统包管理工具都有各自的优点和缺点。经验丰富的Python开发人员通常倾向于使用他们最喜欢的工具集来帮助管理他们的Python环境和依赖项。然而,当涉及到像依赖冲突或修补漏洞这样的问题时,今天的Python包管理器让开发人员手动实现他们自己的解决方案。

随着企业采用敏捷软件开发过程,更快地交付代码的压力增加了,使得针对通用包和环境管理缺点的创造性变通方案越来越不可行。

ActiveState对这种压力并不陌生。几十年来,我们手工制作了ActivePython发行版,其中包含Python的最新版本和数百个流行包。但是根据每个版本的Python、关键包、编译器和补丁在不同版本之间变化的剧烈程度,这个过程可能需要数周到数月的时间。为了加快速度,我们构建了ActiveState平台,它自动化了从依188bet金宝搏备用赖项解析到编译链接的C库,再到为Windows、Linux和macOS打包环境的所有事情。这个过程现在需要几天,其中大部分是人工验证。

白皮书讨论了传统的和发展中的用例的混合,这些用例要么没有被处理,要么被传统的包管理解决方案处理得很差。Acti188bet金宝搏备用veState平台是专门设计来解决这些差距的。

  • 依赖关系解决与冲突
  • 供应链安全
  • 环境的再现性
  • 选择正确的包
  • 发现和修复漏洞

下载python包白皮书

一旦你下载白皮书,您可以探索企业开发人员如何从以下方面获益:

  • 从源代码自动构建包,包括不需要本地构建环境的链接C库。
  • 依赖关系的自动解决(或关于如何手动解决冲突的建议),确保您的环境总是包含一组已知的、共同工作的良好依赖关系。
  • 集中管理您的环境的单一真实源,可以使用单一命令将其部署到所有开发和CI/CD环境中,确保一致的再现性。
  • 在Windows或Linux上自动安装虚拟Python环境,无需预先设置。
  • 查找、修复和自动重建易受攻击环境的能力,从而增强安全性,并显著减少解决cve所涉及的时间和工作。
  • 可以直观地看到哪个包的哪个版本被批准使用,从而避免了开发过程中的猜测。

那些喜欢从命令行工作的人可以利用ActiveState平台的CLI,即状态工具,它充当188bet金宝搏备用通用包管理器,并提供对该平台提供的大多数特性的访问。


最终,愿意采用ActiveState平台的开发人员将花费更少的时间与Python包管理工具角力,而更多的时188bet金宝搏备用间专注于他们最擅长的事情:编码。

要在Windows、m188bet金宝搏备用acOS或Linux上尝试ActiveState平台,在这里创建一个免费帐户。

或者在Windows或Linux上通过命令行安装由ActiveState平台支持的188bet金宝搏备用Python 3.9 (Windows上的命令提示符)

powershell -Command "& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/w19934w01/install.ps1')) -activate-default ActiveState-Labs/Python-3.9Beta"
——activate-default ActiveState-Labs/Python-3.9Beta .sh <(curl -q https://platform.activestate.com/dl/cli/w19934l01/install.sh)——activate-default ActiveState-Labs/Python-3.9Beta

在ActiveState中,我们使用平台不仅要构建我们流行的开源语言发行版,还要为我们的企业客户定制运行时(即只包含他们项目所需的语言和包的构建)。联系销售获得一个免费的演示并了解它如何支持您的企业的开源需求。

Suhani年代