Может кто-нибудь в общих чертах объяснить, как это сделать? Значение обязательных аргументов и то, как это работает.
В качестве примера я хотел бы привести следующую структуру:
Код: Выделить всё
workpace
| .vscode
│ ├── launch.json
│ └── settings.json
└── tree
├── branch1
├── leaf1
└── leaf2
├── pyhelp.py
└── pytest.py
Итак, когда переходим в Leaf2 и запускаем
Код: Выделить всё
pytest pytest.py
Работает
Код: Выделить всё
~/workspace/tree/branch1/leaf2$ python /pytest.py
Открытие pytest.py в VS Code и использование отладчика тоже не приводит к этому. Первая ошибка выдает
Произошло исключение: ModuleNotFoundError
Нет модуля с именем «leaf2.pyhelp»
В рамках скрипта я делаю:
Код: Выделить всё
from leaf2.pyhelp import something
Код: Выделить всё
from test import *
Мой файл launch.json менялся туда и обратно. Я сильно изменился, даже не имея ни малейшего понятия... видимо. Еще вот структура:
Код: Выделить всё
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": false,
"cwd": "${workspaceFolder}/tree/branch1/"
}
На самом деле я действительно не знаю, в чем проблема. Не уверен, что это файл launch.json или это как-то связано с другой обработкой pytest.
Что происходит, когда я вызываю «python script.py» в терминале, и что меняется при запуске кода с помощью pytest script.py? При печати sys.path они, кажется, проверяют одни и те же каталоги...
Любая помощь будет очень признательна!
Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-python