首页 > 解决方案 > venv 和外部库有什么区别?

问题描述

新程序员来了。我正在使用 PyCharm IDE,我注意到 Python 3.6 列在“venv”和“外部库”中。

我查看了文件夹并注意到它们包含许多不同的包,例如django仅在我的 venv 中,并且urllib仅在我的外部库中。但是有些包同时在两者中,比如pip.

外部库中还有一个站点包文件夹,与我的 venv 中的相同。它甚至具有相同的深黄色文本着色。

我的理解是 venv 是一个与我的主系统环境分开的虚拟环境,然后根据这个链接,外部库是“不是我项目内部的库”。通过 venv 和外部库的这些定义,它们似乎并不相互排斥(即彼此相反)所以,我只是不确定我在看什么。

venv 与外部库中包含什么?可以在两个位置显示完全相同的文件(即相同的系统文件路径)吗?

我在看什么

标签: pycharmjetbrains-ide

解决方案


我查看了文件夹,发现它们包含许多不同的包

你到底在哪里看的?你确定这个 venv 在设置中被选为项目解释器吗?项目口译员

外部库确实包含您的 venv 站点包,但它们还包含来自基本解释器的标准库,用于创建 venv、typeshed 存根、由 PyCharm 生成的二进制骨架以及来自解释器路径的其他内容:

在此处输入图像描述

另请注意 - venv 可能存储在 PyCharm 之外。


推荐阅读