Python - Выполнение абсолютного импорта от подпапки

Правильная тактика в этом случае - apply.

apply my_first_proof.

rewrite используется, чтобы заменить одну подтерму цели другой, обычно с леммой, показывающей, что эти подтермы в некотором смысле равны или эквивалентны my_first_proof не является доказательством равенства.

12
задан Community 23 May 2017 в 10:32
поделиться

3 ответа

main.py
setup.py
app/ ->
    __init__.py
    package_a/ ->
       __init__.py
       module_a.py
    package_b/ ->
       __init__.py
       module_b.py
  1. Вы работаете python main.py.
  2. main.py делает: import app.package_a.module_a
  3. module_a.py делает import app.package_b.module_b

Кроме того, 2 или 3 мог использовать: from app.package_a import module_a

Это будет работать, пока Вы имеете app в Вашем PYTHONPATH. main.py мог быть где угодно затем.

Таким образом, Вы пишете a setup.py для копирования (устанавливают) целый пакет приложения и подпакеты к папкам Python целевой системы, и main.py предназначаться для папок сценария системы.

11
ответ дан 2 December 2019 в 21:24
поделиться

Если Вы затем импортируете Module_B в к Приложению, Вы были бы

Module_B.py: импорт ModuleA

App.py (который также импортирует ModuleA, который находится теперь по умолчанию в Вашем Pythonpath),

import Module_B.Module_B

Другая альтернатива, должен обновить __ init __. py (тот в папке Module_A/App) к:

import os
import sys
sys.path.extend('%s../' % os.getcwd())
import ModuleA

Другая альтернатива, должна добавить Ваша папка к var среды PYTHONPATH.

0
ответ дан 2 December 2019 в 21:24
поделиться

Если я - чтение правильно в Python 2.5 или выше:

from ..Module_B import Module_B

Я думал, что был сведущим в Python, но я понятия не имел, что это было возможно в версии 2.5.

2
ответ дан 2 December 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: