Есть ли способ относительно импортировать файлы Python внутри модуля, чтобы контекст выполнения мог меняться без необходPython

Программы на Python
Ответить
Anonymous
 Есть ли способ относительно импортировать файлы Python внутри модуля, чтобы контекст выполнения мог меняться без необход

Сообщение Anonymous »

Возьмем следующую структуру проекта Python:

Код: Выделить всё

project/
├── package/
│   ├── __init__.py
│   ├── module1.py
└── main.py
мой файл main.py выглядит так:

Код: Выделить всё

import package
мой модуль1.py выглядит так:

Код: Выделить всё

def some_fn():
print("hi")

внутри __init__.py я хотел бы импортировать модуль1.py.
init.py вариант 1 – относительный импорт:

Код: Выделить всё

from . import module1

module1.some_fn()
проблема: это работает нормально, если я выполняю python main.py, но не если я выполняю пакет python/__init__.py
Вариант 2: явный импорт

Код: Выделить всё

import package.module1

module1.some_fn()
Проблема: та же, что и предыдущая. Это работает нормально, если я выполняю python main.py, но не если я выполняю python package/__init__.py
Есть ли способ выполнить относительный импорт , чтобы я использовал два разных контекста выполнения и при этом успешно импортировал модули?

Подробнее здесь: https://stackoverflow.com/questions/792 ... at-the-exe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»