Как импортировать модуль из другого каталога?

Ссылка скопирована
1 ответ

Структура проекта:

myProject/ │ ├── Application/ │    ├── MainFirst/ │    │   ├── __init__.py │    │   └── file.py │    └── MainSecond/ │        ├── __init__.py │        └── file.py │ └── core/     ├── __init__.py     └── config.py

myProject/ │ ├── Application/ │ ├── MainFirst/ │ │ ├── __init__.py │ │ └── file.py │ └── MainSecond/ │ ├── __init__.py │ └── file.py │ └── core/ ├── __init__.py └── config.py

В директории myProject/Application/MainFirst и myProject/Application/MainSecond находится файл file.py куда я пытаюсь импортировать модуль config.py из директории myProject/core

При использовании следующих строк кода в file.py:

1. from core import config 2. from ....myProject.core import config 3. from ...core import config 4. import sys    sys.path.insert(0,  os.getcwd() + "/core")    from ...core import config

1. from core import config 2. from ....myProject.core import config 3. from ...core import config 4. import sys sys.path.insert(0, os.getcwd() + "/core") from ...core import config

Я получаю следующие ошибки при отладке файла file.py:
1. Возникло исключение: ModuleNotFoundError (No module named 'core')
2. Возникло исключение: ImportError (attempted relative import with no known parent package)

Подскажите, в какую сторону стоит смотреть что бы реализовать задуманное.

Дополнительно:

ты даже не пытаешься поискать ответ, надоело что его чуть ли не каждый день спрашивают
Ошибка «No module named 'data.config'»?
Почему не работает импорт?

  • Увы, столкнулся с этой проблемой ещё несколько месяцев назад, тогда спустя пару суток поиска решил отказаться от этой идеи.

    Сейчас вернулся, так как опыта больше, но даже это не позволило решить эту ошибку, по форумам и сайтам так-же искал решение, но не помогает

  • Илья, а еще лучше не искать частное решение, а открыть доки или учебник и разобраться как работает импорт.

Ответы:

import sys sys.path.insert(0, '../..')  from core import config

import sys sys.path.insert(0, '../..') from core import config

  • Всё равно ловлю ошибку No module named 'core'
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

Для импортирования модуля из другого каталога в PHP, вы можете использовать функцию require_once или include_once с указанием пути к файлу модуля. Например, если ваш файл модуля находится в каталоге "modules" и называется "module.php", то вы можете импортировать его следующим образом:

require_once 'modules/module.php';

require_once 'modules/module.php';

Этот код подключит файл "module.php" из каталога "modules" в ваш текущий PHP-скрипт. Обратите внимание, что использование require_once гарантирует, что файл будет подключен только один раз, что может быть полезно, если вы импортируете один и тот же модуль в нескольких частях вашего проекта.

Если вам необходимо импортировать модуль из другого каталога, который находится на уровень выше текущего каталога, то вы можете использовать относительный путь. Например, если ваш файл модуля находится в каталоге "includes" на уровне выше текущего каталога, то импортировать его можно следующим образом:

require_once '../includes/module.php';

require_once '../includes/module.php';

Таким образом, вы можете легко импортировать модули из других каталогов в ваши PHP-скрипты, используя функции require_once или include_once и указывая правильные пути к файлам модулей.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно