如何建立一个完美的 Python 项目( 三 )

如果需要跳过这些 hooks,可以运行 git commit --no-verify 或 git push --no-verify
使用 cookiecutter 生成项目现在,我们已经知道了理想项目中包含了什么,我们可以将其转换为 模板[10] 从而可以使用单个命令生成一个包含这些库和配置的新项目:
pipx run cookiecutter gh:sourcery-ai/python-best-practices-cookiecutter填写项目名称和仓库名称,将为您生成新的项目 。
要完成设置,请执行下列步骤:
# Enter project directorycd <repo_name># Initialise git repogit init# Install dependenciespipenv install --dev# Setup pre-commit and pre-push hookspipenv run pre-commit install -t pre-commitpipenv run pre-commit install -t pre-push模板项目包含一个非常简单的 Python 文件和测试,可以试用上面这些工具 。在编写完代码觉得没问题后,就可以执行第一次 git commit,所有的 hooks 都将运行 。
集成到编辑器虽然在提交时知道项目的代码始终保持最高水准是件令人兴奋的事情 。但如果在代码已全部修改完成之后(提交时),再发现有问题还是会让人很不爽 。所以,实时暴露出问题要好得多 。
在保存文件时,花一些时间确保代码编辑器运行这些命令 。有及时的反馈,这意味着你可以在代码还有印象的时候能迅速解决引入的任何小问题 。
我个人使用一些出色的 Vim 插件来完成此任务:

  • ale[11] 实时运行 flake8 并在保存文件时运行 black、isort 和 mypy
  • 与 projectionist 集成的[12] vim-test[13] 在文件保存上运行 pytest
欢迎热爱技术和开源的小伙伴加入 HG 推出的译文亦舞系列的翻译中来,可以留言告诉我们 。




推荐阅读