VSCode 使用不同的 Python 系统路径和运行命令和调试器



我在VS Code中的python脚本似乎突然无法正常运行。我安装的python包都没有正确导入,出现ModuleImport错误。当我打印sys.path和sys.version时,我发现不仅路径中的目录不正确,而且试图运行的Python VS Code版本与解释器设置使用的Python版本不相同。我选择的解释器使用的是Python 3.9.7,但sys.version打印的是Python 3.8。更奇怪的是,当我用调试器运行相同的代码时,sys.path打印的目录神奇地正确了,运行的Python版本突然也正确了。最后,我在系统上完全卸载并重新安装了Anaconda和所有版本的Python,但在创建新环境后,我仍然遇到了同样的问题,现在唯一的区别是运行的Python版本是正确的,但路径目录不是。

运行的终端输出:

调试的终端输出:

在这两种情况下,都选择了正确的解释器,唯一的区别是使用Run或Debug。

我唯一能想到的可能与这个错误有关的是,我最近在一个外部硬盘上安装了Linux以进行双启动,我也在上面安装了Python。我不确定这是怎么造成的。

这是Python扩展更新的一个问题。

使用conda-run for conda环境来运行python文件和安装模块。(#18479(

变更日志(2022年2月28日(。

但它有一些问题,我在GitHub上提交了一个问题。

调试器可以使用您在VSCoe中选择的正确python解释器,而命令conda run xxx则不能。它将在基础中持续存在,而不是在NeoNatal环境中无法选择Anaconda3环境下的子环境

执行sys.executable你会发现它。如果像python pythonFileName.py而不是conda run xxx那样直接在终端执行python脚本,它就会重新工作。

更新:

解决方法:

  1. 设置";python.terminal.activateEnvironment";在settings.json中设置为false
  2. 降级到运行良好的扩展的上一版本(避免conda run(
  3. 尝试以下具有潜在修复程序的VSIX:https://github.com/microsoft/vscode-python/suites/5578467772/artifacts/180581906,使用Extension:Install from VSIX命令安装VSIX

原因:

Conda有一些问题:

conda-run-n MY-ENV python FILE.py使用基本解释器而不是环境解释器。

在已经激活的环境中使用conda运行应该与在之外运行相同

conda运行不会从$PATH 中删除基本环境组件

你可以试试这些:

  1. 转到VSCode设置,转到extensions,然后找到Python。然后找到Default Interpreter Path。如果它显示的路径是python,请将其更改为您的安装路径
  2. 检查您的PATH,看看Python是否在其中
  3. 重新安装VSCodePython

最新更新