如何建立一个完美python的项目

  介绍

本篇文章给大家分享的是有关如何建立一个完美python的项目,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

下面有python教程栏目为大家建立一个完美python的项目,希望可以帮助到大家,一起讨论进步~

当开始一个新python的项目时,大家很容易一头扎进去就开始编码。其实花一点时间选择优秀的库,将为以后的开发节省大量时间,并带来更快乐的编码体验。

在理想世界中,所有开发人员的关系是相互依赖和关联的(协作开发),代码要有完美的格式,没有低级的错误,并且测试覆盖了所有代码。另外,所有这些将在每次提交时都可以得到保证。(代码风格统一,类型检测,测试覆盖率高,自动检测)

在本文中,我将介绍如何建立一个可以做到这些点的项目。您可以按照步骤操作,也可以直接跳到使用cookiecutter生成项目部分(老手)。

首先,让我们创建一个新的项目目录:

mkdir  best_practices   cd  best_practices

<强> pipx安装Python三方库的命令行工具

pipx是一个可用于快速安装Python三方库的命令行工具。我们将使用它来安装pipenv和cookiecutter。通过下面的命令安装pipx:

python3  -m  pip  install ——user  pipx   python3  -m  pipx  ensurepath

<强>使用pipenv进行依赖管理

pipenv为您的项目自动创建和管理virtualenv(虚拟环境),并在安装/卸载软件包时从Pipfile添加/删除软件包。它还会生成非常重要的Pipfile。锁用于保证依赖的可靠性。

当你知道,你和你的队友正在使用相同的库版本时,这将会极大地提高编程的信心和乐趣.Pipenv很好地解决了使用相同的库,版本不同的这一问题,Pipenv在过去的一段时间里获得了广泛的关注和认可,你可以放心使用。安装命令如下:

pipx  install  Pipenv

<强>使用黑色和isort进行代码格式化

黑色可以格式化我们的代码:

黑色是毫不妥协的Python代码格式化库。通过使用它,你将放弃手动调整代码格式的细节。作为回报,黑色可以带来速度,确定性和避免调整Python代码风格的烦恼,从而有更多的精力和时间放在更重要的事情上。

无论你正在阅读什么样的项目,用黑色格式化过的代码看起来都差不多。一段时间后格式不再是问题,这样你就可以更专注于内容。

黑通过减少代码的差异性,使代码检查更快。

而isort是对我们的进口部分进行排序:

isort为您导入的Python包部分(进口)进行排序,因此你不必再对进口进行手动排序。它可以按字母顺序对导入进行排序,并自动将其拆分成多个部分。

使用Pipenv安装它,以便它们不会使部署混乱(可以指定只在开发环境安装):

pipenv  install  black  isort  - dev

黑色和isort并不兼容的默认选项,因此我们将让isort遵循黑色的原则。创建一个设置。cfg文件并添加以下配置:

[isort]   multi_line_output=3   include_trailing_comma=True   force_grid_wrap=0   use_parentheses=True   line_length=88

我们可以使用以下命令运行这些工具:

pipenv  run 黑色   pipenv  run  isort

<强>使用flake8保证代码风格

flake8确保代码遵循PEP8中定义的标准Python代码规范。使用pipenv安装:

pipenv  install  flake8  - dev

就像isort一样,它需要一些配置才能很好地与黑色配合使用。将这些配置添加到设置。cfg:

[flake8]   时间=ignore  E203, E266,, E501, W503   max-line-length =88   max-complexity =18   select =, B, C, E, F, W, T4

现在我们可以运行flake8了,命令:pipenv flake8运行。

<强>使用mypy进行静态类型检查

mypy是Python的非强制的静态类型检查器,旨在结合动态(或“鸭子”)类型和静态类型的优点.Mypy将Python的表达能力和便利性与功能强大的类型系统的编译时类型检查结合在一起,使用任何Python VM运行它们,基本上没有运行时开销。

在Python中使用类型需要一点时间来适应,但是好处却是巨大的。如下: