当前位置:主页 > 软件编程 > Python代码 >

关于vscode 默认添加python项目的源目录路径到执行环境的问题

时间:2023-02-12 10:53:00 | 栏目:Python代码 | 点击:

背景

在vscode刚刚装好的时候,对于开发人员来说可能需要写一些模块的测试,而这个模块可能又引用了其他模块,

如果是同级目录的话可能会出现ModuleNotFoundError: No module named 错误

图文件结构和代码所示,ddd.py文件和ccc.py文件 分别在test1和test2目录下,ccc.py文件需要调用ddd.py文件的函数。

原因:

在test2的ccc.py文件中执行print(sys.path) 查看路径

['g:\\go_code\\first_demo\\test2',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\Pythonwin']

返回结果发现并无g:\\go_code\\first_demo\\ 的路径,所以test2下面的文件引用不到test1下面的文件属于正常

解决方案:

在setting.json文件中加入

"terminal.integrated.env.osx": {
    "PYTHONPATH": "${workspaceFolder}/",
},
"terminal.integrated.env.linux": {
    "PYTHONPATH": "${workspaceFolder}/",
},
"terminal.integrated.env.windows": {
    "PYTHONPATH": "${workspaceFolder}/",
},

然后重启vscode,再次test2的ccc.py文件中执行print(sys.path) 查看路径

['g:\\go_code\\first_demo\\test2',
'G:\\go_code\\first_demo',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\Pythonwin']

发现多了项目的源目录路径。

接着执行ccc.py模块发现可以正常运行了。

参考文章:

https://www.qualityology.com/tech/marking-a-folder-as-sources-root-equivalent-in-visual-studio-code-for-python/

您可能感兴趣的文章:

相关文章