如何将 requirements.txt 发送给没有 PyLint 等开发包的用户?

Pat*_*tze 5 python pylint visual-studio-code

我是python的新手。我使用 Visual Studio 代码。

我目前的理解如下:

对于每个项目,我创建了一个虚拟环境。现在,如果我想在编码时使用一些 linter,例如,我需要使用“pip install pylint”来安装它。如果我现在想将我的代码发送给用户,那么我应该创建一个 requirements.txt。但是,安装pylint后,它看起来是这样的:

astroid==2.3.3
colorama==0.4.3
isort==4.3.21
lazy-object-proxy==1.4.3
mccabe==0.6.1
pylint==2.4.4
six==1.13.0
wrapt==1.11.2
Run Code Online (Sandbox Code Playgroud)

我的代码实际上不需要所有这些包,它们都来自 pylint。

  • 如何自动创建一个仅包含与我的代码相关的包的 requirements.txt(没有 pylint 的东西)?python中的最佳/通常做法是什么?
  • 或者这实际上是包含所有内容的“正常”方式,我不应该担心那么多?

Bre*_*non 4

您应该创建一个requirements.txt包含运行项目所需内容的文件,以及一个dev-requirements.txt包含requirements.txt开发依赖项的文件。我发现管理此问题的最简单方法是使用pip-tools或诗歌等工具。

对于前者,您将有一个requirements.in列出未固定的执行依赖项的列表。然后在你的dev-requirements.in你会有:

-r requirements.txt
pylint
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用pip-compile来生成requirements.txt文件和dev-requirements.txt文件,并pip-sync确保环境中安装的软件包与需求文件中指定的内容相匹配。