Я пытаюсь создать установщик (используя distutils) для пакета Python, который включает в себя предварительно скомпилированный модуль расширения, который включен с помощью аргумента ключевого слова package_data. Мой setup.py выглядит примерно так:
from distutils.core import setup
setup(name="Foobar",
...
packages = ['Foobar'],
package_data = {'Foobar': '_foobar.pyd'})
Тем не менее, сборка этого пакета с python setup.py bdist_msi
создает установщик, который установит для любой версии Python (с именем Foobar-1.0.win-amd64.msi
), даже если модуль расширения совместим только с версией Python, для которой он был скомпилирован.
Есть ли способ сообщить distutils о создании установщика, для которого требуется совместимая версия Python, аналогично тому, что создается, когда distutils используется для компиляции модуля расширения (создание установщика с именем Foobar-1.0.win-amd64-py2.7.msi
)
На данный момент лучшее решение, которое я придумала, - это включить дополнительный (фиктивный) пакет расширений, но это выглядит немного глупо и создает некоторые дополнительные проблемы.