У меня есть пакет A, который зависит от пакета B. Пакет B имеет расширения C [sic].
Когда я делаю это с пакетом A:
python setup.py install
Он проходит процесс установки, компилирует расширения для B, если это возможно (с выводом, отмечающим это), и игнорирует их, если нет. Пока, как и ожидалось.
Но если я построю колесо для А, а затем установлю это:
python setup.py bdist_wheel
pip install $wheel_file
B все еще устанавливается как зависимость, но очень быстро; и в то время как выходные данные отмечают, что выполняется setup.py B, он больше ничего не говорит. Это заставляет меня подозревать, что расширения не собираются и не используются. Я подумал, что где-то может быть кеш, и попробовал опцию pip --no-cache-dir
, но это только вынуждает перезагружать зависимости; это не добавило сообщение компиляции или задержку.
Что именно здесь происходит? Когда создаются расширения, а когда нет? Что входит в колесо, а что нет?
(Контекст: меня не особо волнует, получу ли я расширения в этом конкретном случае. Поведение просто удивляет меня, и я хочу понять, что происходит под капотом)