PyCharm项目中External Libraries是什么?为何存在两个venv?
问题解答
这种情况是完全正常的,你其实误解了External Libraries区域的本质——它并不是项目的第二个独立venv,而是PyCharm的一种UI展示逻辑,具体解释如下:
项目根目录的venv是专属隔离环境
这个venv是你为当前项目创建的独立虚拟环境,所有通过pip install安装的项目依赖都会存放在这里,目的是保证项目依赖的独立性,避免和其他项目、系统全局环境的依赖版本冲突。PyCharm运行项目时,默认会使用这个venv里的Python解释器。External Libraries是当前解释器的资源集合
这个区域展示的是你当前项目所关联的Python解释器的所有可调用资源,包括:- Python标准库
- 对应解释器的
site-packages(如果关联的是项目venv,那这里的site-packages就是venv里的那个;如果关联的是系统全局Python,就是全局安装的包) - 一些PyCharm自动识别的外部代码资源
你看到的“Python可执行文件、site-packages”其实就是你项目venv(或选中的其他解释器)里的内容,PyCharm只是把这些资源统一归类到这个区域,方便你快速查看、跳转标准库或第三方包的源码,并不是存在另一个独立的venv。
不存在“同一项目两个venv”的情况
两者是关联关系而非独立关系:当你把项目解释器设置为根目录venv的Python程序时,External Libraries展示的就是这个venv的完整资源;如果选的是系统全局Python,那展示的就是全局环境的资源。
内容的提问来源于stack exchange,提问作者confused_nomad
相关产品推荐
相关产品推荐

