Visual studio code 当使用虚拟环境时,vscode insiders中的sys.path行为与jupyter lab不同

Visual studio code 当使用虚拟环境时,vscode insiders中的sys.path行为与jupyter lab不同,visual-studio-code,virtualenv,setuptools,jupyter-lab,sys.path,Visual Studio Code,Virtualenv,Setuptools,Jupyter Lab,Sys.path,当切换到vscode insiders笔记本而不是jupyter lab时,我注意到无法再导入使用setuptools安装的本地src包,它会抛出ModuleNotFoundError 在比较了这两个IDE之后,vscode似乎没有像jupyter lab那样更改sys.path 我的项目架构: foo └── bar └── myproject ├── notebooks │   └── nb.ipynb ├── setup.py

当切换到vscode insiders笔记本而不是jupyter lab时,我注意到无法再导入使用setuptools安装的本地
src
包,它会抛出
ModuleNotFoundError

在比较了这两个IDE之后,vscode似乎没有像jupyter lab那样更改
sys.path

我的项目架构:

foo
└── bar
    └── myproject
        ├── notebooks
        │   └── nb.ipynb
        ├── setup.py
        ├── env
        └── src
我的安装步骤:

cd /foo/bar/myproject
source env/bin/activate
(env) python3 -m pip install -e .
(env) python3 -m ipykernel install --user --name=my_project_env # add the jupyter kernel based on the environment
然后在jupyterlab和vscode中打开nb.ipynb并检查sys.path,得到以下结果:

jupyter实验室:

print(sys.path)
-->
...
foo/bar/myproject # allows to import src
...
vscode:

print(sys.path)
-->
...
foo/bar/myproject/notebooks # does not allow to import src
...
我本来希望vscode将
foo/bar/myproject
目录添加到sys.path中,因为它是src所在的目录,我是不是搞错了

(同时,我找到了以下解决方法,将以下内容添加到vscode中的
settings.json

"jupyter.runStartupCommands":  [
        "import sys",
        "sys.path.insert(2,'${workspaceFolder}')"
    ]
)