当我为 Python 项目创建 virtualenv 时,它会被我为方便起见而安装的包(例如 iPython 或我的编辑器“VS Code”所依赖的其他包,例如“pylint”)“污染”。
但是这些包与我的项目无关。因此,如果我执行 pip freeze > requirements.txt,我会发现只有几个包与我的项目相关。
最好的清理方法是什么?
- 在全局环境中安装这些包,以便我可以在我开始的每个项目中使用它们?或
- 执行
pip freeze > requirements.txt,然后编辑需求文件并删除不需要的包?
请您参考如下方法:
我们在这里做什么:
首先,我们有项目的需求文件——用于部署的文件。这不是使用 pip freeze 构建的,而是手动编辑的,因此它只包含相关包。
然后我们有“开发”需求文件,其中包含仅对开发有用但需要在项目上工作的包(linter、附加测试等)。
最后,每个人都可以自由维护自己的个人附加要求(与编辑器相关的包等)。
请注意,使用 virtualenvwrapper(它确实有助于开发安装)您可以定义 Hook ,这些 Hook 将在您创建新的虚拟环境时安装包。
