Skip to main content
 首页 » 编程设计

Python:与项目无关的包

2025年05月04日22zhenyulu

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

但是这些包与我的项目无关。因此,如果我执行 pip freeze > requirements.txt,我会发现只有几个包与我的项目相关。

最好的清理方法是什么?

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

请您参考如下方法:

我们在这里做什么:

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

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

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

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