【问题标题】:VS Code "python.envFile" does not seem to work with "python.defaultInterpreterPath"VS 代码“python.envFile”似乎不适用于“python.defaultInterpreterPath”
【发布时间】:2022-06-13 14:17:49
【问题描述】:

尽管在工作区 (.vscode/settings.json) 中指定了 python.envFilepython.defaultInterpreterPath 似乎并未通过在 envFile 中声明的环境变量获取解释器路径。

  1. 文件:.env
# filename: .env
# set this in .vscode/settings.json:
# "python.envFile": "${workspaceFolder}/.env"
DEFAULT_INTERPRETER_PATH=path/to/python/interepreter
  1. 文件:.vscode/settings.json
// filename: .vscode/settings.json
{
    "python.envFile": "${workspaceFolder}/.env",
    "python.defaultInterpreterPath": "${env:DEFAULT_INTERPRETER_PATH}",
    "python.terminal.activateEnvironment": true,
    "python.terminal.activateEnvInCurrentTerminal": false,
    "jupyter.jupyterServerType": "local",
}

如果我对python.defaultInterpreterPath 进行硬编码,它可以工作,并在我打开一个新的终端窗口时自动激活解释器。但它不会从变量中激活解释器(在.env 文件中)。

参考文献

使用 VS Code 在 GitHub 上打开的问题

【问题讨论】:

  • 一旦用户为工作区明确选择了不同的解释器,Python 扩展将不会获取对 python.defaultInterpreterPath 的更改。Reference documentation
  • @JialeDu 谢谢你的评论。但这不是问题。硬编码路径被识别。不是通过环境变量引用的路径。

标签: python visual-studio-code environment-variables


【解决方案1】:

我遇到了在 vscode 中找不到模块的问题,然后我在 pycharm 中编写了相同的代码,它在那里正常工作..所以你可以试试 pycharm

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

您可以在设置文件中使用变量替换,目前环境文件中的变量无法识别。

您还可以使用语法 ${env:VARIABLE} 在路径设置中使用环境变量。例如,如果您创建了一个名为 PYTHON_INSTALL_LOC 的变量并带有解释器的路径,则可以使用以下设置值:

"python.defaultInterpreterPath": "${env:PYTHON_INSTALL_LOC}",

注意:变量替换仅在 VS Code 设置文件中支持,在 .env 环境文件中不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2012-04-21
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多