Как я могу импортировать переменные из родительского каталога? - PullRequest
0 голосов
/ 25 апреля 2019

Я просто хочу импортировать файл python с гиперпараметрами в родительский каталог, но я только что получил системную ошибку.

Родительский модуль '' не загружен, не может выполнить относительный импорт

Структура каталогов указана ниже.

Project directory
+-- package
|   +-- dataset
|   |   +-- __init__.py
|   |   +-- dataset.py
|   +-- models
|       +-- __init__.py
|       +-- cnn.py
+-- __init__.py
+-- hparams.py
+-- main.py

Что я хочу сделать, это импортировать переменные hparams.py в dataset.py

Я пробовал несколько строк, как показано ниже, но ни одна из этих работ.

from ..hparams import * 

from ...hparams import *

from .. import hparams

from ... import hparams

Что мне делать для импорта?

1 Ответ

0 голосов
/ 25 апреля 2019

Вам нужно указать python, где искать этот файл, вы не можете сделать это по умолчанию, как пытаетесь. Кроме того, как предполагает ваша архитектура каталогов, вам необходимо найти в родительском каталоге из родительский каталог вашего файла dataset.py, чтобы получить доступ к hparams.py. Так что вы можете просто добавить эти две строки кода в начале dataset.py

import sys
sys.path.insert(0, '..\..')

Тогда вы можете выполнить from hparams import * или import hparams как обычно. Подробнее о sys.path.insert Здесь

...