Разделение setup.py на несколько модулейPython

Программы на Python
Ответить
Anonymous
 Разделение setup.py на несколько модулей

Сообщение Anonymous »

Я унаследовал сложный файл setup.py, который использует различные модули Python в отдельной папке под названием buildchain. Весь репозиторий в основном структурирован следующим образом:

Код: Выделить всё

- setup.py
- buildchain
- __init__.py
- extension_generator.py
- src
- my_package
- __init__.py
- my_module.py
с указанием setup.py

Код: Выделить всё

import setuptools
from buildchain.extension_generator import CppExtensionGenerator
setuptools.setup(
...
ext_modules=CppExtensionGenerator().create_ext_modules()
)
Эта структура отлично работает при запуске python setup.py build_ext и подобных вещей, но при установке пакета с помощью pip, например в tox > среды, я получаю ModuleNotFoundError: нет модуля с именем «buildchain». Понятно, но неприятно.

Код: Выделить всё

buildchain/
явно исключен из манифеста, поскольку он необходим только для компиляции расширений, но не нужен в других случаях после завершения установки, поэтому я не хочу, чтобы он был в колесе. Рабочее решение — поместить весь код в файл setup.py, но ориентироваться в нем непросто. Я ищу что-то с таким же эффектом, чтобы не добавлять весь этот код в среду Python пользователя навсегда.
Как я могу разделить файл setup.py на разные модули с импортом между ними?

Подробнее здесь: https://stackoverflow.com/questions/741 ... le-modules
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»