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.mobiletrain.org/

相关推荐HOT
更多>>
文本处理用c还是用python
文本处理python与c的对比:如下c++语言:C++语言实现C++中没有实现split功能的函数,下面用C++STL中的一些函数模拟实现split功能。#include#inc...详情>>
2023-11-06 23:42:24
Python什么是函数式编程?
函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始...详情>>
2023-11-06 17:27:35
列举python常见的内置函数
abs()返回数字的绝对值map根据函数对指定序列做映射map()函数接收两个参数,一个是函数,一个是可迭代对象,map将传入的函数依次作用到序列的每...详情>>
2023-11-06 15:21:35
Python之select、poll、epoll模型的区别
select、poll、epoll模型的区别?(属于多路复用IO的模型)都是i/o多路复用的机制,监视多个socket是否发生变化,本质上都是同步i/oselect,poll实...详情>>
2023-11-06 14:44:24