Не удается получить отладчик VSCode / Python для поиска модулей моего проекта - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть проект, и я пытаюсь отладить мой main.py. Я действительно сбит с толку, почему при запуске отладчика я получаю следующую ошибку при импорте вверху моего файла (только):

Exception has occurred: ModuleNotFoundError
No module named 'bbb'
  File "/Users/maxepstein/myproject/bbb/train/__main__.py", line 8, in <module>
    from bbb.mysubfolder.myfile import myfunction

Структура папок моего проекта, как показывают эти операторы печати (как показано отладчиком), подтверждает, что мой модуль 'bbb' существует и имеет __init__.py:

import os
print(os.getcwd())
print(os.listdir())
print(os.listdir('bbb'))

/Users/maxepstein/myproject
['requirements.txt', 'bbb', 'resources', '__init__.py', 'readme.md', 'results', '.gitignore', '.git', '.vscode', 'bbenv']
['config', 'tests', '__init__.py', 'utils', 'predict', 'train']

Я пытаюсь отладить как «отладка текущего файла - встроенный терминал», ниже приведены применимые параметры отладки из моего файла debug settings.json. После поиска в Интернете я действительно думал, что добавление "cwd": "/Users/maxepstein/myproject" ниже будет моим решением, но это не помогло.

"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File (Integrated Terminal)",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "cwd": "/Users/maxepstein/myproject"
    }

Любая помощь или понимание будет высоко ценится.

1 Ответ

0 голосов
/ 14 ноября 2018

Когда я отлаживаю модуль Python в VS Code, я использую конфигурацию отладки модуля вместо текущего файла.Для вас это может выглядеть так:

{
    "name" : "Python: Module",
    "type" : "python",
    "request": "launch",
    "module": "bbb",
    "args": []
}

См. Документацию https://code.visualstudio.com/docs/python/debugging

Кроме того, в VS Code эти шаги автоматически заполняют эти настройки для вас:

Отладка -> Добавить конфигурацию -> Python: Модуль

...