Найти - Пользователи
Полная версия: Цепь импортирования
Начало » Python для новичков » Цепь импортирования
1
icegood
Привет!
У меня есть маленький тестовый проектик, чтобы понять, как импортируются в Питоне (3.4.1 x64 under Win7) файлы из пакета.

Итак, main.py:
from my_lib import a
va=a.TClassA()

В подапке my_lib есть
__init__.py (пусто),
a.py:
from b import TClassB
class TClassA(TClassB):
  def __init__(self):
    super().__init__()
    print ('A created')

и b.py:

class TClassB:
  def __init__(self):
    print ('B created')

Далее, при попытке выполнить main.py получаю:

Traceback (most recent call last):
File “D:\work\test\main.py”, line 1, in <module>
from my_lib import a
File “D:\work\test\my_lib\a.py”, line 1, in <module>
from b import TClassB
ImportError: No module named ‘b’

Что за ерунда? Почему a.py не видит b.py, ведь они в одной папке?
JOHN_16
icegood
from b import TClassB
from .b import TClassB
Объяснить корректно не смогу, ибо живу не на Python3.
icegood
JOHN_16
Объяснить корректно не смогу, ибо живу не на Python3.
Да, работает! А теперь я от других просто требую объяснения матчасти
Shaman
icegood
А теперь я от других просто требую объяснения матчасти
Коротко: пакет - всё, директория - ничто!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB