У меня есть следующая структура в package
dir:
├── bin
│ └── package.py
├── package
│ ├── __init__.py
│ └── a_file.py
└── setup.py
a_file.py
:
def a(): pass
__init__.py
:
from .a_file import a
bin/package.py
:
#!/usr/bin/env python
from package import a
setup.py
:
setup(name='package',
version='0.1',
description='',
url='',
author='',
author_email='',
license='MIT',
packages=['package'],
scripts=['bin/package.py'],
zip_safe=False)
Я устанавливаю пакет, используя:
pip install -e .
Один раз, когда я запускаю $ package.py
из команды строка, ошибка:
ImportError: cannot import name 'a' from partially initialized module 'package' (most likely due to a circular import)
Насколько я понимаю, это явно не циклический импорт. bin/package.py
импорт package/a_file.py
до package/__init__.py
. И package/a_file.py
ничего не импортирует.
В чем здесь реальная проблема?