Python Импорт файлов из других папок (в рамках одного проекта) с помощью __init__.py? - PullRequest
0 голосов
/ 02 февраля 2019

Попытка импортировать aFile.py изнутри bSubFile.py, но при этом появляется сообщение об ошибке «exceptions.ValueError, Попытка относительного импорта в неупакованном виде»

Моя структура файла выглядит следующим образом:

app/
  - __init__.py

  FolderA/
    - __init__.py
    - aFile.py

  FolderB/
    - __init__.py
    - bFile.py

    SubfolderB/
      - __init__.py
      - bSubFile.py

Я пытаюсь импортировать aFile из bSubFile.py

пробовал:

from ..FolderA import aFile

class bSubFile():
...

и:

from ...FolderA import aFile

class bSubFile():
...

но я всегда получаю 'Попытка относительноимпорт в не пакет », я должен упустить что-то очень очевидное.Спасибо!

1 Ответ

0 голосов
/ 02 февраля 2019

Вы можете добавить другой путь к системному пути.Это может быть не самый элегантный способ, но он работает.

import sys
import os
# get the folder of the current file, go one directory back and add "FolderA"
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "FolderA"))
# now you can import everything that is in FolderA directly
import aFile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...