在 .env 文件中将 python.defaultInterpreterPath 设置为环境变量

问题描述 投票:0回答:0

在下面,您将在 settings.json 中找到

python.defaultInterpreterPath
配置。此路径不包括 python.exe 文件。它仅包括 python.exe 所在的文件夹。此值显示在命令面板 > Python 下的解释器列表中:选择类型为“默认解释器”的解释器。

{
    "python.terminal.activateEnvironment": true,
    "python.defaultInterpreterPath": "C:\\Python\\Python39_venv\\Scripts"
}

现在看看我在 Visual Studio Code 中工作区下的 *.env 文件。除了“.env”扩展名之外,该文件的名称没有任何意义。我将其命名为 workspace.env。这里有一个名为

PYTHONPATH
的环境变量。如果像
os.environ("PYTHONPATH")
一样导入和使用 os 模块,这就是 Python 应用程序使用的内容。如果未设置,它不会用作默认解释器,但它会显示在命令面板 > Python 下的解释器列表中:选择类型为“venv”的解释器。非常奇怪的是,如果没有像上面这样的一组,这将不是默认解释器,特别是因为它是环境变量的用途。问题是这个变量
PYTHONPATH
需要文件 python.exe 的路径,而不是 python.exe 文件所在文件夹的路径。

PYTHONPATH=C:\Python\Python39_venv\Scripts\python.exe

这是文档。请参阅“PYTHONPATH 变量的使用”。

https://code.visualstudio.com/docs/python/environments

如何在没有 python.exe 文件的情况下放置此环境变量 PYTHONPATH,仅将文件夹作为 python.defaultInterpreterPath 配置,以便我用于通过 Visual Studio Code 中的运行命令执行 Python.exe 的 Python 配置使用相同的 Python 版本和虚拟环境在运行时检索环境变量作为我的 Python 源代码?我想在不指定路径的情况下这样做。我想使用环境变量本身并去掉文件名和反斜杠。

毕竟,这不就是拥有环境的目的吗?为什么有一个 venv 选项和一个 default interpreter 选项具有不同的格式?我知道两者都有不同的目的,但程序员不应该在两个地方设置路径。这就是存在环境变量的原因。所以你只把它们放在一个地方。这样,当代码在 Visual Studio Code 中完成开发后在服务器上运行时,操作系统将使用相同的环境变量来执行和运行时。


根据评论,由于 PYTHONPATH 用于模块,也许我们可以在 .env 文件中创建一个名为 PYTHON_INTERPRETER 的自定义环境变量并将文件夹路径存储在那里并从 python.defaultInterpreter 引用该变量?

python visual-studio-code interpreter
© www.soinside.com 2019 - 2024. All rights reserved.