Как подключить модуль из другой директории в Python?

Как настроить импорт модуля config.py из директории myProject/core в файл file.py, который находится в директориях myProject/Application/MainFirst и myProject/Application/MainSecond, чтобы избежать ошибок ModuleNotFoundError и ImportError?
  • 26 марта 2024 г. 16:09
Ответы на вопрос 3
Существует несколько способов подключить модуль из другой директории в Python:

1. Использование переменной sys.path:
Вы можете добавить путь к директории, где находится модуль, в переменную sys.path перед импортом. Например, для импорта модуля config.py из директории myProject/core в файл file.py вы можете добавить следующий код в начало файла file.py:
```python
import sys
sys.path.append('../core')
import config
```
Этот способ позволяет Python искать модуль в указанной директории.

2. Использование пакетов:
Вы также можете превратить директории myProject/core и myProject/Application в пакеты, добавив файл __init__.py в каждую из них. После этого вы сможете использовать относительный импорт:
```python
from ..core import config
```
Использование пакетов является рекомендуемым способом организации структуры проекта в Python.

3. Использование PYTHONPATH:
Вы можете добавить путь к директории, где находится модуль, в переменную окружения PYTHONPATH. Например, если модуль config.py находится в директории myProject/core, вы можете добавить эту директорию в PYTHONPATH перед запуском файла file.py:
```bash
export PYTHONPATH=myProject/core
python myProject/Application/MainFirst/file.py
```
Этот способ также позволяет Python найти модуль в указанной директории.

Выберите подход, который наиболее подходит вашим потребностям и структуре проекта.
ты даже не пытаешься поискать ответ, надоело что его чуть ли не каждый день спрашивают 
Ошибка «No module named 'data.config'»?
Почему не работает импорт?
import sys
sys.path.insert(0, '../..')

from core import config
Похожие вопросы