Visual Studio Code-如何向python路径添加多条路径?
- 2025-03-20 08:46:00
- admin 原创
- 51
问题描述:
我正在试验 Visual Studio Code,到目前为止,它看起来很棒(轻便、快速等)。
我正在尝试运行一个使用虚拟环境的 Python 应用程序,但也使用虚拟环境的站点包中没有的库。
我知道在中settings.json
我可以指定一个python.pythonPath
设置,我已经完成并且指向一个虚拟环境。
我还知道我可以向 中添加其他路径python.autoComplete.extraPaths
,到目前为止,我正在添加外部库。问题是,当我调试时,它失败了,因为它找不到 中指定的库python.autoComplete.extraPaths
。
是否必须使用其他设置来实现此目的?
解决方案 1:
这对我有用:-
在您的 launch.json 配置文件条目中,指定一个名为“env”的新条目,并自行设置 PYTHONPATH。
"configurations": [
{
"name": "Python",
"type": "python",
"stopOnEntry": false,
"request": "launch",
"pythonPath": "${config.python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
],
"env": {
"PYTHONPATH": "/path/a:path/b"
}
}
]
解决方案 2:
VS Code 中的 Python 扩展有一个设置,用于python.envFile
指定包含环境变量定义的文件的路径(请参阅:https ://code.visualstudio.com/docs/python/environments#_environment-variable-definitions-file )。默认情况下,它设置为:
"python.envFile": "${workspaceFolder}/.env"
因此,要将外部库添加到路径,请在工作区文件夹中创建一个名为.env的文件,如果您使用的是 Windows,请向其中添加以下行:
PYTHONPATH="C:path oa;C:path o"
在此处指定路径的优点是,自动完成和调试都可以使用此设置本身进行。您可能需要关闭并重新打开 VS Code 才能使设置生效。
解决方案 3:
2022年,配置如下文件.vscode/settings.json
:
{
"python.analysis.extraPaths": ["C:/Program Files/obs-studio/data/obs-scripting/64bit"],
"terminal.integrated.env.windows": {
"PYTHONPATH": "C:/Program Files/obs-studio/data/obs-scripting/64bit;${env:PYTHONPATH}",
"PATH": "C:/Program Files/obs-studio/data/obs-scripting/64bit;${env:PATH}"
}
}
解决方案 4:
我遇到了同样的问题,malbs答案对我不起作用,直到我将分号改为冒号,你可以从 ZhijiaCHEN 的评论中找到它
"env": { "PYTHONPATH": "/path/to/a:/path/to/b" }
或者,我有一种方法可以实现相同的目的:
# at the top of project app script:
import sys
sys.path.append('/path/to/a')
sys.path.append('/path/to/b')
解决方案 5:
根据https://github.com/microsoft/vscode-python/issues/12085settings
,我在工作区配置文件部分添加了以下内容。我使用的是 Linux。对于 Windows,请使用terminal.integrated.env.windows
。
"terminal.integrated.env.linux": {
"PYTHONPATH": "addl-path-entry1:addl-path-entry2"
}
我还添加了.env
如上文许多帖子/评论所述的文件。
最后,我根据https://stackoverflow.com/a/64103291/11262633添加了PyLance扩展。
我也重新加载了我的工作区。
这两个更改允许我使用调试器和运行菜单运行 Python 程序。AutoComplete 知道添加的路径,并且我的 VSCode linter(以前是默认 linter pylint
,现在是“pylance”)现在可以工作了。
解决方案 6:
首先,settings.json
按照这个答案的描述打开:
打开命令面板(使用
F1
或Ctrl
+Shift
+P
)输入“打开设置”
您将看到几个选项,选择“打开用户设置(JSON)”
此图片是在VS Code 在线编辑器中拍摄的
接下来,将以下代码添加到刚刚打开的文件中(就在最后一个代码之前}
):
"python.analysis.extraPaths": ["/some/path"],
"python.autoComplete.extraPaths": ["/some/path"],
"terminal.integrated.env.linux": {
"PYTHONPATH": "/some/path;${env:PYTHONPATH}"
}
将出现的三个 替换/some/path
为您感兴趣的路径。如果您对多条路径感兴趣,请将它们放在,
前两行用 分隔的不同字符串中,并放在第 一行用 分隔的同一字符串;
中"PYTHONPATH"
。
上述代码适用于 Linux,如果您使用的是 Windows,请替换"terminal.integrated.env.linux"
为"terminal.integrated.env.windows"
。
解决方案 7:
您可以将 .pth 文件添加到虚拟环境的站点包目录中。
对于要包含在 PYTHONPATH 中的每个模块或包,此文件每行都应有一个绝对路径。
https://docs.python.org/2.7/install/index.html#modifying-python-s-search-path
解决方案 8:
我通过在使用 Pylance 和 IntelliCode 时添加“python.analysis.extraPaths”使其工作。
解决方案 9:
bash escamotage(与调试器和自动完成功能一起使用);需要在 PATH 中安装代码命令(vsc shell 命令:安装......)
#!/bin/bash
#
# vscode python setup
#
function fvscode {
# you just want one of this:
export PYTHONPATH=<your python installation ../bin/python3>
# you may want many of these:
export PYTHONPATH=<your lib dir here>:$PYTHONPATH
# launch vscode
code
}
alias vscode='fvscode'
通过输入“vscode”启动 VSC。
解决方案 10:
根据环境文档,扩展查找环境的位置包括一些默认值以及python.venvPath
工作区中的设置值settings
例如:"python.venvPath": "~/.virtualenvs"
这使您可以找到如上所述的几个(例如:virtualenvs):
要选择特定环境,请使用命令面板中的 Python:选择解释器命令
扫码咨询,免费领取项目管理大礼包!