2013-12-01 4 views
0

Моя структура каталогов:ImportError «Невозможно импортировать имя Package1»

[File1] 
    [Package1] 
     __init__.py 
      from Package1 import module1 
      from Package1 import module2 
      ... 
     module1.py 
     module2.py 
     ... 

Я хочу, чтобы импортировать пакет таким образом, чтобы использовать класс как

from File1 import Package1 
Package1.Module1.Class1()… 

возможно. Когда я пытаюсь

from File1 import Package1 

Я всегда получаю ошибку:

cannot import name Package1 

Я думаю, что Круговой импорт может быть проблемой, но я не знаю, как это исправить.

+0

Какая версия Python? Кроме того, также является 'File1' пакетом (то есть он содержит' __init __. Py')? И откуда вы можете попробовать этот импорт, оболочку python или другой файл? – l4mpi

+0

Я использую Python 3.3. На данный момент File1 не является пакетом. Я пытаюсь импортировать из оболочки python. – user37662

+0

Для вашего импорта для работы папка 'File1' также должна быть пакетом (или вам нужно импортировать' Package1' из каталога 'File1'). Я предполагаю, что у вас есть python _module_ 'File1.py', поскольку импорт только терпит неудачу на' Package1'. – l4mpi

ответ

0

1) Вам необходимо добавить __init__() в File1 папку также (пустая тоже нормально).

2) Изменение __init__() внутри Package1 следующим образом:

__init__.py 
from File1.Package1 import module1 
from File1.Package1 import module2 

Затем из файла питона вы можете получить доступ, как

from File1 import Package1 
x=Package1.module1() 
x=Package1.module2() 

Я думаю, что это будет работать .... весело

Смежные вопросы