Как обрабатываются расширения C при работе с колесами? - PullRequest
0 голосов
/ 26 июня 2018

У меня есть пакет 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, но это только вынуждает перезагружать зависимости; это не добавило сообщение компиляции или задержку.

Что именно здесь происходит? Когда создаются расширения, а когда нет? Что входит в колесо, а что нет?

(Контекст: меня не особо волнует, получу ли я расширения в этом конкретном случае. Поведение просто удивляет меня, и я хочу понять, что происходит под капотом)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...