可能刚开始学习Python时,有人跟你说可以将源文件所在的文件夹添加到 这篇文章适用于所有类型的 Python 学习者,因为即使你知道存在替代方案,也难以掌握。 Python的工具链令人困惑,因为有许多软件是相互依赖的,并且它们的关注点也有很多重叠。很难理解它们在 Python 编程体系中的定位。 出于这个原因,我决定列出最重要的工具,它们的使用场景和原因,以及它们解决了什么问题。我将尝试用简单的词语解释你应该如何使用这些工具。如果我在本文中列出了某个工具,这意味着,作为一个Python程序员,你应该至少知道它的存在。我将仅列出可应用于任何项目或工作流的工具,每次启动新项目时都应考虑这些工具。这并不意味着您总是必须在每个项目中使用它们。在某些情况下,太多的工具很容易成为一种负担,并且难以维护。 SetuptoolsSetuptools是在Python中创建包的标准方法。它无处不在,有效并发挥了应有的作用。
virtualenvVirtualenv是一个虚拟环境管理器。隔离的虚拟环境可以理解为“安装了独立包的Python版本。使用virtualenv意味着不需要(并且不应该)使用系统默认的python版本来安装软件包。
PipPip是Python最常用的包管理工具。它允许您获取本地或远程包,并将它们安装在虚拟环境或系统的Python中。
distutilsdistutils是setuptools的先驱。后者大量使用来自distutils的功能,因此很多情况下都会用到该工具。这不是你会直接选择使用的工具,但你应该知道它生态中的作用。 PypiPypi是Python Package Index的简称。它存储了所有你可能会用到的Python库。Pip就是从这里获取构建好的包。
PypiserverPypiserver是Pypi使用的Package Index API的一个实现。您可以用它来配置自己的代码库,例如为整个公司设置并在那里发布包,而不是公开发布。
PoetryPoetry是也是一个包管理系统,可以取代setuptools,pip和一些建立在它们之上的工具。这个工具,是对Python打包系统的一次全面重构尝试。到目前为止,它得到了一些支持和很多积极的反馈,但它还远远没有成为主流选择。
PipenvPipenv和 Poetry 一样,是一种以更加理智的方式构建Python项目依赖关系和配置的工具。它通过
SphinxSphinx是构建文档的工具。它最初诞生的目的,是处理Python的文档,但现在已经成为了一个通用文档工具。它仍然是Python项目最常见的文档工具。
autodocautodoc是Sphinx的基本扩展,允许从Python源代码中生成restructuredText文件,其中包含每个类,函数,模块等的条目。
py.testpy.test在我看来是Python中最好的测试套件。它具有很多功能,但并非所有功能都得到充分的推广,因此需要一些时间来发现该软件支持的丰富可能性
HypothesisHypothesis是基于属性的测试工具。简单地说,它会根据你提供的规范生成随机测试场景,直到找到导致测试失败的情况。在开始使用此工具之前,请花点时间了解背后的原理。
toxtox本质上是测试工作中的虚拟环境管理器。这意味着配置测试,让其在一系列干净,可自定义的虚拟环境中运行,以确保代码能够在不同条件下工作。所有这些都不需要任何手动处理。
pyenvpyenv是一个python版本管理器。它旨在简化开发人员处理多个版本时的本地工作流程。
PyScaffoldPyScaffold是一种以标准化方式初始化项目结构的工具,并提供我们之前列出的一些工具,而无需手动配置它们。它支持高度定制。
flake8flake8是Python最常用的风格检查工具之一。它运行不同的脚本来验证代码是否符合Python的风格指南要求(PEP-8)。
BlackBlack是一个自动代码格式化工具。这意味着Black不会仅仅检查您的代码是否合规,还会实际修改它以使其符合规范。
原文 | https:///chobeat/python-project-tooling-explained -- 完 -- 回复下方「关键词」,获取优质资源 回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版 回复关键词「pybooks02」,立即获取 O'Reilly 出版社推出的免费 Python 相关电子书合集 回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版 印度小伙写了套深度学习教程,Github上星标已经5000+ GitHub热榜第四!这套Python机器学习课,免费获取还易吸收 题图:pexels,CC0 授权。 |
|