python 安装、软件包与项目管理
问题:有些使用体验太过复杂——对,说的就是为专业级Python项目设置工作区、目录结构与基本架构;管理与项目相关的环境、软件包及依赖项;以可重复方式重新分配项目来源;并一次又一次不断进行这个过程。
Rust与Go这两种语言,在初始设计阶段就强调提供一种单一且规范的项目设置方式,并允许开发者在整个生命周期之内对其进行轻松管理。Rust与Go开发人员虽然因此牺牲掉了一定程度的灵活性,但却换来了良好的一致性、可预测性以及可管理性。
Python提供的安装、软件包以及项目管理工具与方法,随着时间推移而不断积压,并成为30年发展周期中的一笔重大负担。其中有用于软件包管理的pip、用于创建虚拟环境的venv/virtualenv、用于元管理的virtualenvwrapper与Pipenv、用于生成项目依赖性的pip-tools、以及用于创建Python代码发行版的distutils与setuptools等。此外,还有负责定义项目其它部分的setup.py、requirements.txt、setup.cfg、MANIFEST.in以及Pipfile等等。
解决方案:同样的,我们需要取代这如同一团乱麻的工具与流程大杂烩,由Python核心开发团队拿出一套规范性的解决方案,同时确保其能够优雅地迁移一切利用现有方法开发出的项目。当然,这是个很难解决的挑战,但随着Python语言变得越来越重要,我们必须努力让它成为一款易于上手、维护简单、一致性强且友好舒适的编程工具。
目前这方面工作已经有所进展。根据PEP518提案,Python的build依赖项被合并为pyproject.toml文件格式。而像poetry这样的第三方工具虽然只能打包现有工具,但已经体现出一体化管理产品的样貌。随着时间的推移,其中一种解决方案也许会脱颖而出、受到整个社区的关注,并成为客观层面甚至是范式性的处理标准。
以上内容为大家介绍了python安装、软件包与项目管理,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!