为团队提供流畅的Python开发环境[诗歌pyenv黑色isort]


为团队提供流畅的Python开发环境[诗歌pyenv黑色isort]

如果可以将开发环境作为一个团队进行统一,则协作将更加容易。在本文中,诗歌pyenv用于统一虚拟环境,黑色isort用于设置代码的自动格式。

编辑器

请使用您喜欢的那个。使用vim,pycharm或VScode。在此,以VS代码为前提对设置进行说明。

  • VS代码

vscode的安装方法如下

  • Mac:在Mac OS上安装Visual Studio Code的步骤

  • ubuntu:在Ubuntu上安装VS Code(Visual Studio Code)的简便方法

虚拟环境

通过使用虚拟环境,可以在以团队形式编写代码时调整执行环境,从而大大提高了协作工作的效率。在此,使用以下虚拟环境工具。

  • pyenv
  • 诗歌

请参阅本文以了解安装方法。

安装Python以使用pyenv使用。

您可以列出可与以下命令一起使用的Python版本。

1
pyenv install --list

这次我们介绍Python 3.7。

1
pyenv install 3.7

有关如何使用

pyenv的详细信息,请参阅本文。

用诗歌创建一个新项目

要创建一个新项目,请执行以下操作。同时执行poetry config virtualenvs.in-project true,将虚拟环境直接放在项目目录下。 (使VS Code正常工作所必需的)

1
2
poetry config virtualenvs.in-project true
poetry new new_project

设置pyproject.toml

将在您的项目中创建一个名为pyproject.toml的文件。该文件将是配置文件,以后将进行编辑。让我们指定上一部分中安装的Python版本。您可以通过如下编写来指定使用Python 3.7系列。

1
2
[tool.poetry.dependencies]
python = "^3.7"

建立虚拟环境

之后,您可以使用以下命令构建和安装Python虚拟环境。

1
poetry install

图书馆安装

如果要在此虚拟环境中安装新库,请按如下所示指定add选项。在这里,我们安装blackisortflake8mypy进行开发(-D选项)。

1
2
3
4
poetry add flake8 -D
poetry add black -D
poetry add isort -D
poetry add mypy -D

在虚拟环境中运行

如果要在虚拟环境中执行该程序,则将该程序放置为your_program.py,则可以按以下方式执行它。

1
poetry run python your_program.py

在虚拟环境中运行Shell

如果要在虚拟环境中执行Shell,请键入以下内容以启动Shell。

1
poetry shell

在现有项目中引入诗歌

如果项目your_project已经存在,请执行以下操作。执行poetry config virtualenvs.in-project true,将虚拟环境直接放在项目目录下。 (使VS Code正常工作所必需的)

1
2
3
4
cd your_project
poetry config virtualenvs.in-project true
poetry init
poetry install

如果在执行

初始化时不想创建诸如test之类的目录,请在下面指定--no-interaction选项。

1
poetry init --no-interaction

诗歌的详细用法

有关详细用法,请参阅"官方文档"或"本文:诗歌:一种支持Python依赖关系管理和打包的工具","本文:使用诗歌开发Python软件包以发布PyPI"请参考"最多" 。

将诗歌创建的虚拟环境Python与VS Code一起使用作为解释器

使用VS Code打开创建的项目。创建或选择一个适当的Python文件,按左下方的select interpreter,然后在.venv中选择Python。

Python格式化程序

的介绍

如果

团队以统一的方式编写代码,则代码将更易于阅读,并且编码将顺利进行。在这里,黑色用于自动格式化代码,而issort用于对齐导入语句的顺序,以便自动统一书写样式。我将描述在安装上述诗歌的前提下如何安装Formatter。 (对于VS Code)

黑色的

  • 安装

    • poetry add black -D
    • poetry add flake8 -D
  • 设置VS代码。由于可以用ctrl + ,显示设置屏幕,因此请进行如下设置。每次使用以下设置保存时,代码都会被格式化。

<表格>

设置名称

功能

设置值


<身体>

python.linting.enabled

是否启用Lint功能


python.linting.pylintEnabled

是否将皮棉用于皮棉


python.linting.flake8Enabled

是否将flake8用于Linter


python.linting.lintOnSave

保存文件时要运行Lint吗?


python.formatting.provider

用于格式化Python代码的内容

黑色

editor.formatOnSave

保存文件时是否自动格式化




  • 参考:黑色自动塑造精美! flake8和Black的安装和执行/ VSCode设置

isort

  • 安装

poetry add isort -D

  • 设置vscode,以便在保存时自动对齐导入语句的顺序。

    • 在VSCode上键入ctrl + shift + p以显示命令屏幕。
    • 键入Preferences: Open Settings (JSON)以显示setting.json。

    • 添加以下内容。
    1
    2
    3
    4
    5
    6
    {
      "[python]":{
        "editor.codeActionsOnSave":{
           "source.organizeImports":true
        }
    }

参考链接

  • 从使用Poetry的Python包开发到PyPI发行
  • 在VS Code中设置Black和Isort