在 visual studio 代码中添加模块的 python 路径
add a python path to a module in visual studio code
我很难在另一个目录甚至同一项目的文件夹中指定包含 modules/packages 的 python 路径。当我尝试导入时出现错误:
ModuleNotFoundError: 没有名为 'perception'
的模块
在 Spyder 中,这只需使用 UI 到 select 一个额外的 python 路径,python 将查找,但我无法这样做VSC.
请注意,我已尝试按照其他答案编辑 settings.json 文件和 .env 文件,但问题仍然存在。
我唯一的解决办法是在每个脚本中使用 sys.path.append(),这不是我想要的。
例如我的 settings.json 文件是:
{
"terminal.integrated.env.osx": {
"PYTHONPATH": "pathtoprojectfolder"
},
"python.envFile": "${workspaceFolder}/.env",
"jupyter.interactiveWindowMode": "perFile",
"python.terminal.executeInFileDir": true,
"terminal.integrated.inheritEnv": true,
"jupyter.themeMatplotlibPlots": true,
"window.zoomLevel": 2,
"python.condaPath": "path_to_conda_python",
"python.defaultInterpreterPath": "path_to_conda_python",
}
在您的 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"
}
}
]
仅适用于 MacOS 的说明。
添加 .env 文件并导航设置 json 文件并不像在 Spyder 中添加额外的 python 路径那样直观和简单。但是,这在 VSC 上对我有用:
- 在项目文件夹中创建一个 .env 文件。
- 将要添加到 PYTHONPATH 的完整路径添加如下:
PYTHONPATH=/Users/../projectFolder:/Users/.../AnotherProjectFolder
** 关键是你必须在路径之间使用适当的分隔符,在 Mac 上你必须使用':',否则路径将不会被添加。
转到代码->首选项->设置并搜索“terminal.integrated.osx”。单击编辑“settings.json”
添加到json设置
"python.envFile": "${workspaceFolder}/.env",
例如,您可能 settings.json 显示以下内容:
{
"python.envFile": "${workspaceFolder}/.env",
"jupyter.interactiveWindowMode": "perFile",
"python.terminal.executeInFileDir": true,
}
添加路径是一个相当复杂的过程,但我喜欢 运行 VSC 中的 Jupyter notebooks 的功能,而 Spyder 在独立安装程序中还没有。
此页面包含所需信息:https://code.visualstudio.com/docs/python/environments#_environment-variable-definitions-file
我很难在另一个目录甚至同一项目的文件夹中指定包含 modules/packages 的 python 路径。当我尝试导入时出现错误:
ModuleNotFoundError: 没有名为 'perception'
的模块在 Spyder 中,这只需使用 UI 到 select 一个额外的 python 路径,python 将查找,但我无法这样做VSC.
请注意,我已尝试按照其他答案编辑 settings.json 文件和 .env 文件,但问题仍然存在。
我唯一的解决办法是在每个脚本中使用 sys.path.append(),这不是我想要的。
例如我的 settings.json 文件是:
{
"terminal.integrated.env.osx": {
"PYTHONPATH": "pathtoprojectfolder"
},
"python.envFile": "${workspaceFolder}/.env",
"jupyter.interactiveWindowMode": "perFile",
"python.terminal.executeInFileDir": true,
"terminal.integrated.inheritEnv": true,
"jupyter.themeMatplotlibPlots": true,
"window.zoomLevel": 2,
"python.condaPath": "path_to_conda_python",
"python.defaultInterpreterPath": "path_to_conda_python",
}
在您的 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"
}
}
]
仅适用于 MacOS 的说明。
添加 .env 文件并导航设置 json 文件并不像在 Spyder 中添加额外的 python 路径那样直观和简单。但是,这在 VSC 上对我有用:
- 在项目文件夹中创建一个 .env 文件。
- 将要添加到 PYTHONPATH 的完整路径添加如下: PYTHONPATH=/Users/../projectFolder:/Users/.../AnotherProjectFolder
** 关键是你必须在路径之间使用适当的分隔符,在 Mac 上你必须使用':',否则路径将不会被添加。
转到代码->首选项->设置并搜索“terminal.integrated.osx”。单击编辑“settings.json”
添加到json设置
"python.envFile": "${workspaceFolder}/.env",
例如,您可能 settings.json 显示以下内容:
{
"python.envFile": "${workspaceFolder}/.env",
"jupyter.interactiveWindowMode": "perFile",
"python.terminal.executeInFileDir": true,
}
添加路径是一个相当复杂的过程,但我喜欢 运行 VSC 中的 Jupyter notebooks 的功能,而 Spyder 在独立安装程序中还没有。
此页面包含所需信息:https://code.visualstudio.com/docs/python/environments#_environment-variable-definitions-file