Использование ifcopenshell (
на момент написания) Пакет Python 3.11 доступен на pypi: (исходный код на github), я не могу использовать его так, как я привык использовать почти все остальные пакеты Python:
Код: Выделить всё
import ifcopenshell
ifcopenshell.api.project.create_file()
Я столкнулся с этой ошибкой:
Код: Выделить всё
AttributeError: module 'ifcopenshell' has no attribute 'api'
То же самое относится и к любой «подпапке» внутри этого пакета, например:
Код: Выделить всё
import ifcopenshell.api as api
api.project.create_file()
AttributeError: module 'ifcopenshell.api' has no attribute 'project'
Я действительно привык иметь доступ ко всем подкомпонентам из импорта верхнего уровня почти во всех пакетах Python, которые я использую. Почему такое поведение именно в этом пакете? Как это называется (если есть имя)? И как бы вы исправили это в исходном коде?
На данный момент это не большая проблема, поскольку я могу использовать это следующим образом:
Код: Выделить всё
import ifcopenshell.api.project
ifcopenshell.api.project.create_file()
но код становится длинным и утомительным для написания, и мне приходится вручную указывать каждый импортируемый суб-пакет/суб-суб-пакет/...
п>
Подробнее здесь:
https://stackoverflow.com/questions/791 ... vel-import