我正在做一个结构类似的项目
Parent Directory
----+ MyPackage
----__init__.py
----file1.py
----+ Tests
----test.py
当我从终端运行测试时,我使用
PYTHONATH=./ python ./Tests/test.py
现在,当我在安装"Python扩展"后尝试调试选项时,会引发错误
Exception has occurred: ModuleNotFoundError
No module names 'MyPackage'
我如何将PYTHONPATH放入调试配置中,以便它能够正常工作?
经过一番搜索和反复尝试,我发现了一些有效的东西。我把它发布在这里,这样寻找同样问题的人也可以尝试。我不确定这样做是否正确。
创建(或添加到(文件.vscode/settings.json
内容作为
{
// .. any other settings
"terminal.integrated.env.linux": {
"PYTHONPATH": "${workspaceFolder}"
}
}
现在我可以用这个包运行我的项目了。
在VSCode 1.74.0中,我通过将路径放在调试launch.json
中使其工作
{
"version": "0.2.0",
"configurations": [
{
"name": "Python debugging"
"type": "python"
// other settings
"env": {
"PYTHONPATH": "${workspaceFolder}",
}
}
]
}
使用venv,我尝试了对terminal.integrated.env.x
设置和launch.json
中的env
/cwd
进行各种修改,虽然我在运行文件时可以正常使用此场景,但在调试文件时无法使其正常工作。
因此,作为激活的一部分,我最终在本地修改了.venv/bin/activate
文件,将项目添加到python路径中。我认为这个解决方案很好,因为venv只用于这个项目,它涵盖了在IDE中运行文件的所有场景。
我将此添加到myProject/.venv/bin/activate
:的底部
PYTHONPATH="/Users/path/to/your/project/:$PYTHONPATH"
export PYTHONPATH