СТАРНАЯ ВЕРСИЯ
Для решения проблемы замените ".."
на os.pardir
:
import os, sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)))
from _common import A
НОВАЯ ВЕРСИЯ
Приведенный выше код не решает проблему в вопросе, потому что настоящая проблема заключается в структуре проекта, а не в конкретной строке.Проблема в круговом импорте .Проблема стала ясной после полного отслеживания.Вот простой способ воспроизвести проблему - рассмотрим 3 файла ...
main.py:
import a
a.py:
import b
A = 'A'
b.py:
from a import A
... ошибка:
ImportError: cannot import name 'A'
ИЛИ
b.py:
import a
BB = a.A
...ошибка:
AttributeError: module 'a' has no attribute 'A'
Решение проблемы обсуждалось много раз - поиск по SO