2022 Python 计算生态二月推荐榜 第48期

22年2月10日 · Python123 3499 人阅读
![]() |
看见更大的世界,遇见更好的自己
See a better world to meet better for ourselves.
Python之强大,除了语言本身,更重要的是拥有庞大的第三方库,但众多的第三方库形成了复杂的依赖关系,所以 Python 建议通过虚拟环境工具为项目创建纯净的依赖环境。为什么需要虚拟环境?考虑下面这个场景,您有两个项目:项目A和项目B,它们都依赖同一个jieba库。当我们开始需要不同版本的jieba库时,问题变得非常明显,例如,项目A需要v1.0.0,而项目B需要更新v2.0.0。这对Python来讲是一个真正的问题,因为它无法区分库版本。什么是虚拟环境?从本质上来讲,Python虚拟环境的主要目的是为Python项目创建一个隔离的环境,每个项目都可以有自己的依赖项,而不管其他项目有什么依赖项。在上面的例子中我们只需要创建一个单独的虚拟环境,每个环境都能选择他们依赖的jieba库版本。
2022年02月,在项目开发的过程中,虚拟环境是至关重要的,虽然标准库提供了venv,但是好事者特别推荐10款优秀的Python计算生态,帮助您了解虚拟环境。
pipenv
Pipenv 是 Python.org 官方推进的
Python 包管理工具,旨在将所有包管理工具的优点集中应用于 Python 领域中的工具。它对各个平台都有很好的支持。
https://github.com/pypa/pipenv
virtualenv
virtualenv用来创建独立的Python虚拟环境,可以将每个项目与其他项目独立开来,互不影响,解决了依赖包版本冲突的问题。
https://github.com/pypa/virtualenv
tox
tox是一个通用的virtualenv管理和测试命令行工具。你可以用来:针对不同版本的python及其翻译器,校验你的包均安装正确在每一个环境中,配置你的测试工具,并执行测试作为一个前端的持续集成的服务器,极大的减少了模版和合并CI以及基于shell的测试。
https://github.com/tox-dev/tox
hatch
Hatch 是一个现代的、可扩展的 Python 项目管理器。
dh-virtualenv
dh-virtualenv 是一个工具,旨在将 Debian 打包与基于自包含 virtualenv 的
Python 部署相结合。
https://github.com/spotify/dh-virtualenv
nodeenv
nodeenv(node.js虚拟环境)是一个创建隔离 node.js 环境的工具。它创建了一个有自己的安装目录的环境,它不与其他 node.js虚拟环境共享库。新环境也可以与由virtualenv (python) 构建的环境集成。
https://github.com/ekalinin/nodeenv
try
try是一个易于使用的 cli 工具,用于试用
Python 包。
https://github.com/timofurrer/try
rpmvenv
Python virtualenv 的 RPM 打包程序。
https://github.com/kevinconway/rpmvenv
virtualenv-api
virtualenv是一个创建隔离 Python 环境的工具。不幸的是,它没有公开原生的 Python API。这个包旨在提供一个围绕 virtualenv 的包装器形式的
API。
https://github.com/sjkingo/virtualenv-api
venvs
venvs是一个用于在单个文件中配置一组 virtualenvs 的工具,这些包要安装到每个文件中,以及任何二进制文件以使其在内部全局可用。
Python3Turtle