ModuleNotFoundError: правильная настройка - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть следующая структура каталогов в Windows:

\Code
   \ Projects
      \ProjectA
         \dev.env
         \FileA.py
   \Shared
      \ModA
         \__init__.py
         \tools.py

В моем ProjectA я пытаюсь импортировать функцию из tools.py для использования в FileA.py, используя:

from ModA.tools import function_x

Я создал файл dev.env в папке ProjectA, который содержит одну строку:

PYTHONPATH=C:/Code/Shared/ModA/

, и я установил следующее в VSCode Settings |Настройки рабочего пространства

python:Env
${workspaceFolder}/dev.env

Но каждый раз, когда я пытаюсь выполнить импорт, я получаю ModuleNotFoundError

Что я делаю не так?

1 Ответ

0 голосов
/ 13 декабря 2018

Создайте файл launch.json, следуя этим шагам и добавьте следующую строку:

"envFile": "${workspaceFolder}/dev.env"

Ваш .vscode/launch.json должен выглядеть следующим образом:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Current File (Integrated Terminal)",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "envFile": "${workspaceFolder}/dev.env"
    }
  ]
}

Обязательно измените параметр python.envFile в настройках Рабочего пространства (.vscode/settings.json) на ${workspaceFolder}/dev.env

В соответствии с документацией :

Затем можно установить для параметра python.envFile значение $ {workspaceFolder} /prod.env, а затем установить для свойства envFile в конфигурации отладки значение $ {workspaceFolder} /dev.env.


И измените импорт на:

from tools import function_x
...