Python:与项目无关的包

Ugu*_*gur 3 python

当我为 Python 项目创建 virtualenv 时,它会被我为了方便而安装的包(例如 iPython 或我的编辑器“VS Code”所依赖的其他包,例如“pylint”)“污染”。

但这些包与我的项目无关。因此,如果我这样做pip freeze > requirements.txt,我会发现只有少数软件包与我的项目相关。

最好的清理方法是什么?

  • 在全局上下文中安装这些包,以便我可以在我开始的每个项目中使用它们?或者
  • 执行一个pip freeze > requirements.txt,然后编辑需求文件并删除不需要的包?

bru*_*ers 5

我们在这里做什么:

首先,我们有项目的需求文件 - 用于部署的文件。这不是使用 pip freeze 构建的,而是手动编辑的,因此它只包含相关的包。

然后我们有“dev”需求文件,其中包含仅对开发有用但在项目上工作所需的包(linter、附加测试内容等)。

最后,每个人都可以自由维护自己的个人附加需求(与编辑器相关的包等)。

请注意,使用 virtualenvwrapper (这确实有助于开发安装)您可以定义在创建新的虚拟环境时安装软件包的钩子。