Я изучаю, как использовать distutils
, и есть кое-что, что я не понимаю, и я хочу, чтобы кто-то мог объяснить это мне.Python 3: setup.py: pip install, который делает все (build_ext + install)
я уже преуспел в создании tar.gz пакетов, которые могут быть установлены с
pip install mypackage.tar.gz
Я сделал это с setup.py
, с простым скриптом, который запускает функцию setuptools.setup()
, которую я называю, используя python3 setup.py sdist
.
Что я хочу узнать сейчас: Как включить в него расширения здания.
Моя проблема: Я не мог найти какой-либо всеобъемлющий текст, который объясняет, как pip install
пакета, который имеет build_ext
класс может получить его построить, а затем установить.
Если мы посмотрим на this example, для известного инструмента cx_freeze
пакета, мы видим:
- Там в наследственное
build_ext
класса - Там в это метод
build_extension()
- в
setup()
, переменнаяcmdclass
, которая содержит a dict, который содержит классbuild_ext
Мой вопрос: Что получает cx_freeze
, чтобы построить расширение, а затем установить его? Имеет ли значение cmdclass
с build_ext
для достижения этого?