问题描述
当切换到 vscode-insiders notebooks 而不是 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}')"
]
)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)