如何在VSCode中为Jupyter/Jupytex配置Python包搜索路径
纯VSCode配置实现包导入适配方案
不需要修改任何Python源码文件,所有配置通过工作区根目录下的.vscode/settings.json完成,路径全部采用相对工作区的写法,换电脑直接复用配置即可。
具体配置内容
在.vscode/settings.json中添加以下配置项:
{ // 为Python静态分析、导入代码补全添加自定义包搜索路径 "python.analysis.extraPaths": [ "./src" ], // 为#%%标记的交互式Jupyter单元格统一指定运行根目录为VSCode工作区根路径 "jupyter.notebookFileRoot": "${workspaceFolder}" }
配置生效逻辑
python.analysis.extraPaths会让VSCode的Python语言服务器识别到./src下的packageA包,不会出现写import packageA时的代码标红问题,也能正确提供包内模块的代码提示。jupyter.notebookFileRoot修正了之前交互式单元格自动把py文件所在目录作为运行根目录的默认行为,会把IPython运行时的sys.path初始化基准目录强制设为工作区根路径,加上之前配置的./src搜索路径,就能正常定位到packageA包,不会触发ModuleNotFoundError。- 所有路径都采用相对工作区的写法:
${workspaceFolder}是VSCode内置的路径变量,会自动解析为当前打开的项目根目录绝对路径,不管项目在哪个电脑的哪个盘符下,只要把整个MyProject文件夹作为工作区打开,配置就能自动适配,不需要手动修改绝对路径。
注意事项:配置修改完成后,需要关闭所有之前打开的交互式Jupyter窗口、重启Python内核后再运行单元格,旧内核会保留之前初始化的旧
sys.path,不会自动读取新配置。
内容的提问来源于stack exchange,提问作者Xaree Lee
相关产品推荐
相关产品推荐

