关于用vscode运行python提示找不到模块的问题
工作目录的配置如下
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"cwd": "${workspaceFolder}", // 设置工作目录为项目根目录
"console": "integratedTerminal"
}
]
}
settings.json
{
"python.terminal.executeInFileDir": true
}
项目目录结构如下
.
├── config.json
├── core
│ └── start_all_browsers.py
├── driver
│ └── chromedriver
├── requirements.txt
│
└── utils
├── answer_processing.py
├── auto_download_driver.py
├── config.py
├── driver_manager.py
├── logger.py
├── progress_manager.py
问题描述
问题是运行子文件start_all_browsers.py 时工作目录始终不正确,始终提示找不到utils模块,比如在根目录执行python core/start_all_browsers.py就是不会去找utils文件夹
(sele) wang@ubuntu:/home/shared/WeTest$ python core/start_all_browsers.py
Traceback (most recent call last):
File "/home/shared/WeTest/core/start_all_browsers.py", line 4, in <module>
from utils.auto_download_driver import ensure_chrome_driver
ModuleNotFoundError: No module named 'utils'
(sele) wang@ubuntu:/home/shared/WeTest$
已经尝试的方法
- 修改launch.json,如上,不知道为什么还是不生效
- 修改设置的
python core/start_all_browsers.py勾选还是不行 - 工作的相对目录下面编辑setting.json添加
"python.terminal.executeInFileDir": true还是不行 - 通过临时强行指定环境变量能运行,如:
PYTHONPATH=/home/shared/WeTest python core/start_all_browsers.py,不会提示找不到utils
希望解决
- 想知道vscode中怎么正常运行子文件的py文件?,这个问题怎么解决?,是我没有运行文件方式不对还是设置没生效的问题?
- 通过指定环境变量可以运行,但是每次写死环境变量这个办法也不行,有没有其他方法能解决这个问题