Прежде всего, это моя структура рабочего пространства:
workspace_root
├── ...
├── libs
│ └── module_name
│ ├── README.md
│ ├── module_name
│ │ ├── __init__.py
│ │ ├── caller_with_main_calls_service.py
│ │ ├── independent.py
│ │ └── service_calls_indendent.py
│ └── setup.py
├── ...
моя проблема?
В VSCode я не могу перемещаться в определении элементов модуля. Это включает в себя переход от оператора import
прямо к его определению. Я даже не смог запустить или отладить python main в caller_with_main_calls_service.py
, потому что он сказал module not found
. При установке модуля через пипс работает. Однако во время разработки это нежелательно ...
То, что я пробовал до сих пор:
{
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.pythonPath": "/path/to/conda_env/python",
"python.autoComplete.extraPaths": [
"${workspaceRoot}/libs/module_name/module_name"
],
"editor.formatOnSave": true
}
- до запуска VSCode, я экспортировал
$PYTHONPATH
env var таким же образом, как в 1) для включения пути к библиотеке
Как выглядят файлы python из модуля:
# example: caller_with_main_calls_service.py
from module_name import service_calls_indendent as sci
Не уверен, если это уместно, но я работаю с WSL.