VSCode 对 Python 使用不同的系统路径与 运行 命令和调试器
VSCode uses different System Path's for Python with Run command and Debugger
我在 VS Code 中的 python 脚本似乎无处不在 运行 正确。我安装的 python 包中的 None 可以再正确导入,出现 ModuleImport 错误。当我打印 sys.path 和 sys.version 时,我发现不仅路径中的目录不正确,而且 Python VS Code 的版本试图 运行 也不正确与解释器设置使用的 Python 版本相同。我选择的解释器使用 Python 3.9.7,但 sys.version 正在打印 Python 3.8。更 st运行gely,当我 运行 使用调试器编写相同的代码时,sys.path 打印的目录神奇地正确,并且 Python 的版本是 运行 突然又正确了。最后我在我的系统上完全卸载并重新安装了 Anaconda 和 Python 的所有版本,但是在创建新环境后我仍然 运行 遇到同样的问题,现在唯一的区别是python 的版本 运行 是正确的,但路径目录不正确。
Terminal output from Run:
Terminal output from Debug:
在这两种情况下都选择了正确的解释器,唯一的区别是使用 运行 或调试。
我唯一能想到的可能与该错误有关的是我最近在外部硬盘驱动器上安装了 Linux 以进行双启动,我也在其上安装了 Python .不过我不确定那是怎么造成的。
你可以试试这些:
- 转到
VSCode
设置并转到 extensions
,然后找到 Python
。然后找到Default Interpreter Path
。如果它说的路径是python
,请将其更改为您的安装路径。
- 检查您的
PATH
并查看 Python
是否在其中。
- 正在重新安装
VSCode
或 Python
。
Python 扩展更新有问题。
Use conda run for conda environments for running python files and
installing modules. (#18479)
changelog(2022 年 2 月 28 日)。
但是它有一些问题,我在 GitHub 上提交了 an issue。
调试器可以采用您在 VSCoe 中 select 编辑的正确 python 解释器,而命令 conda run xxx
则不能。它将持续存在于 base 而不是 NeoNatal 环境中。 不能selectAnaconda3 envs下的子环境.
执行sys.executable
你会找到的。如果直接在终端中执行 python 脚本喜欢 python pythonFileName.py
而不是 conda run xxx
它将再次工作。
更新:
解决方法:
- Set "python.terminal.activateEnvironment" to false in the settings.json.
- Downgrade to the previous version of the extension which works fine(avoid
conda run
).
- 尝试以下具有潜在修复的 VSIX:https://github.com/microsoft/vscode-python/suites/5578467772/artifacts/180581906,使用扩展:从 VSIX 安装命令安装 VSIX。
原因:
Conda 有一些问题:
conda run -n MY-ENV python FILE.py uses the base interpreter instead of environment interpreter.
conda run does not remove base environment components from $PATH
我在 VS Code 中的 python 脚本似乎无处不在 运行 正确。我安装的 python 包中的 None 可以再正确导入,出现 ModuleImport 错误。当我打印 sys.path 和 sys.version 时,我发现不仅路径中的目录不正确,而且 Python VS Code 的版本试图 运行 也不正确与解释器设置使用的 Python 版本相同。我选择的解释器使用 Python 3.9.7,但 sys.version 正在打印 Python 3.8。更 st运行gely,当我 运行 使用调试器编写相同的代码时,sys.path 打印的目录神奇地正确,并且 Python 的版本是 运行 突然又正确了。最后我在我的系统上完全卸载并重新安装了 Anaconda 和 Python 的所有版本,但是在创建新环境后我仍然 运行 遇到同样的问题,现在唯一的区别是python 的版本 运行 是正确的,但路径目录不正确。
Terminal output from Run:
Terminal output from Debug:
在这两种情况下都选择了正确的解释器,唯一的区别是使用 运行 或调试。
我唯一能想到的可能与该错误有关的是我最近在外部硬盘驱动器上安装了 Linux 以进行双启动,我也在其上安装了 Python .不过我不确定那是怎么造成的。
你可以试试这些:
- 转到
VSCode
设置并转到extensions
,然后找到Python
。然后找到Default Interpreter Path
。如果它说的路径是python
,请将其更改为您的安装路径。 - 检查您的
PATH
并查看Python
是否在其中。 - 正在重新安装
VSCode
或Python
。
Python 扩展更新有问题。
Use conda run for conda environments for running python files and installing modules. (#18479)
changelog(2022 年 2 月 28 日)。
但是它有一些问题,我在 GitHub 上提交了 an issue。
调试器可以采用您在 VSCoe 中 select 编辑的正确 python 解释器,而命令 conda run xxx
则不能。它将持续存在于 base 而不是 NeoNatal 环境中。 不能selectAnaconda3 envs下的子环境.
执行sys.executable
你会找到的。如果直接在终端中执行 python 脚本喜欢 python pythonFileName.py
而不是 conda run xxx
它将再次工作。
更新:
解决方法:
- Set "python.terminal.activateEnvironment" to false in the settings.json.
- Downgrade to the previous version of the extension which works fine(avoid
conda run
). - 尝试以下具有潜在修复的 VSIX:https://github.com/microsoft/vscode-python/suites/5578467772/artifacts/180581906,使用扩展:从 VSIX 安装命令安装 VSIX。
原因:
Conda 有一些问题:
conda run -n MY-ENV python FILE.py uses the base interpreter instead of environment interpreter.
conda run does not remove base environment components from $PATH