VS Code 不自带虚拟环境管理,需手动创建 venv 或 conda 环境并正确选择解释器;常见失败原因包括环境未创建、路径错误或解释器选错;务必通过命令面板选择解释器、在对应环境中安装包,并检查 settings.json 是否覆盖配置。
VS Code 本身不自带 Python
虚拟环境
管理能力,它依赖你本地已创建好的
或
环境,并通过正确选择解释器来激活它们。配置失败的常见原因不是 VS Code 设置错了,而是环境没建好、路径没识别到、或解释器选错了。
如何创建并确认虚拟环境存在
VS Code 不会帮你创建虚拟环境,这步必须手动完成。推荐用 Python 内置的
模块(无需额外安装):
执行后会在当前目录生成
文件夹。注意:
是默认命名,但 VS Code 并不强制要求这个名字;只要它是标准
结构(含
(
mac
OS/Linux)或
(Windows)子目录),就能被识别。
Windows 用户:检查
是否存在
macOS/Linux 用户:检查
是否存在
如果用
,环境路径在
下,同样需确认
可执行文件存在
在 VS Code 中正确选择 Python 解释器
这是最关键的一步。VS Code 需要明确知道“用哪个
来运行代码和加载包”,这个动作叫“选择解释器”,不是“配置环境”。快捷键
(Windows/Linux)或
(macOS),输入并选择:
。
立即学习
“
Python免费学习笔记(深入)
”;
如果列表里自动出现了
或
,直接选它
如果没出现,点
,然后手动定位到上面提到的
可执行文件(如
)
选中后,VS Code 底部状态栏会显示该解释器路径,且
相关功能(如 IntelliSense、调试、格式化)会基于该环境生效
包安装必须在选中的解释器下进行
即使解释器选对了,如果你在终端里直接敲
,结果取决于当前终端是否已激活该虚拟环境。VS Code 的集成终端默认**不会自动激活**虚拟环境——除非你做了额外设置。
elasticsearch-9.4.0 win
PHP中文网提供Elasticsearch 9.4.0 Windows 版本压缩包下载解压即用,内置 OpenJDK 无需额外配置 Java 环境。该版本重磅推出原生 Prometheus 支持、正式版 Elastic Workflows 以及基于 NVIDIA cuVS 的 GPU 加速向量索引,大幅提升 AI 检索与可观测性能力。建议前往官网下载,快速体验极速搜索与强大的数据分析功能。
下载
最稳妥的方式:在 VS Code 终端中先激活环境(Windows):
,或(macOS/Linux):
,再运行
更省事的方式:用 VS Code 命令面板运行
,它会自动激活当前选中的解释器对应环境
验证是否装对:在 Python 文件里写
,看有没有红线;或者在命令面板运行
,它也会使用当前解释器的包
为什么 pip list 看不到刚装的包?
大概率是终端用的不是你选中的那个解释器的
。运行以下命令确认:
或 Windows:
输出路径应与你选中的解释器路径一致(比如都在
下)。如果不一致,说明你在系统全局 pip 或另一个环境中装了包。这时候要么切换终端环境,要么显式调用:
这才是真正“属于这个环境”的安装方式。VS Code 的扩展(如 Pylance)只读取当前解释器的 site-packages,不会跨环境扫描。
容易被忽略的一点:VS Code 工作区级别的
中如果写了
,它会覆盖你手动选择的结果;而用户级设置又可能覆盖工作区设置。遇到解释器反复“变回去”,优先检查这些配置项是否硬
编码
了错误路径。
venvcondavenvpython -m venv .venv.venv.venvvenvbin/Scripts/.venv\Scripts\python.exe.venv/bin/pythonconda create -n myenv python=3.11anaconda3/envs/myenvpythonpythonCtrl+Shift+PCmd+Shift+PPython: Select Interpreter.venvmyenvEnter interpreter path...python.venv/bin/pythonpythonpip install requests.venv\Scripts\activatesource .venv/bin/activatepip installPython: Create Terminalimport requestsPython: Run Python File in Terminalpipwhich pipwhere pip.venv/bin/.venv/bin/python -m pip install requestssettings.json"python.defaultInterpreterPath"