JetBaget
@JetBaget
Программист Python

Как передавать имя приложения в setup.py?

Всем доброго времени суток!

Есть приложение на python 3, где имя приложения (далее app_name) используется в нескольких модулях. Для удобства было решено определить app_name один раз в модуле misc и импортировать его оттуда там, где это необходимо.
При сборке дистрибутива с помощью setuptools, была выявлена следующая проблемка: в файле setup.py импортирование app_name из misc потянуло за собой импортирование всего, что содержится в __init__. А это не есть хорошо. Уточню, что в misc нет импортирования чего-либо, только объявление нескольких переменных.

Решение, которое нашлось здесь:
https://python-packaging-user-guide.readthedocs.io...

заключается в использовании exec() для парсинга файла misc.py. Что и было использовано. Так вот, вопрос в том, является ли это лучшим решением и почему производится импортирование из __init__.py? Буду рад ознакомиться с вашими мыслями.
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
qlkvg
@qlkvg
python backend developer
А, собственно, в чем проблема? Если в __init__.py нет ничего криминального, то пусть app_name там и лежит. Ну импортнется по ходу сборки несколько модулей/переменных, что в этом страшного? Главное чтобы никакой логики там не было, которая не даст sdist (bdist, bdist_wheel etc.) нормально отработать.
edited: Прочитал внимательнее. Покажите структуру проекта и как импорт модуля misc происходит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы