首页 > 解决方案 > 我应该卸载所有全局安装的 Python 包并仅在 VENV 环境中本地安装它们吗?

问题描述

我刚刚读到全局和本地安装的 Python 包之间可能存在冲突,最好只在本地 VENV 环境中安装 Python 本身和包以避免这些潜在问题。

我知道我在全球范围内安装了 Python 并且(错误地)在全球范围内安装了 Jupyterlab,但是当我pip list在全球范围内检查时,我得到了一长串我不记得曾经安装过的软件包,例如:

anyio, argon2, async-generator, ..., ipython, Jinja2(我有 pycharm,但不应该只在您创建新项目时在本地安装?)numpy, pandas,等等......许多其他人,也许还有 50 个其他名称。

我是否应该删除全局安装的所有内容,只安装 Python 本身并在 VENV 环境中项目相关包?

如果是这样,怎么办?

标签: pythonpippackage

解决方案


我一直在研究类似的东西,并认为我会在这里为未来的浏览器添加一个答案。

与许多事情一样,答案取决于... 只使用虚拟环境是一个好习惯;这有助于确保一些事情,包括确保不同的项目可以在不同版本的包上运行而不会发生冲突,或者您需要更新包,可能会破坏旧代码。

另一方面,如果您使用任何给定的软件包维护多个应用程序,则必须单独更新每个 venvs(如果您想更新),这会让人耳痛,在这种情况下,您可能会决定安装该软件包在全球范围内为自己省去痛苦。

至于最初的问题RE:删除所有内容,再一次,没有人可以回答这个问题。我的建议是(如果它是可管理的),检查每个包并删除它,如果你没有看到自己经常使用它来证明它是全球性的。


推荐阅读