Подтвердить что ты не робот

Колесо Python усиливает ABI до "none"

Я думаю, что это простой вопрос, но я еще не нашел ответа, поэтому я размещаю здесь.

У меня есть приложение Python 3, которое я упаковываю в колесо платформы. У меня setup.py, и все работает так, как ожидалось. Единственное, что я не могу понять, - это сгенерированное колесо всегда включает в себя тег ABI (например, "cp34m" ), и когда это включено, я обнаружил, что я не могу установить колесо через pip. (Моя сборка script устанавливает перед запуском последнюю версию, setuptools и колесо.)

Решение прост. Я просто изменяю имя файла колеса, чтобы изменить "cp34m" на "none". Это, очевидно, легко добавить в мою сборку script, но мне интересно, можно ли установить параметр для bdist_wheel или что-то, чтобы файл .whl, сгенерированный, не был установлен самостоятельно?

Команда, которую я использую для создания колеса (например, на x64):

python setup.py bdist_wheel --plat-name win_amd64

Это создает колесо как:

mpf_mc-0.30.0.dev269-cp34-cp34m-win_amd64.whl

Затем я переименую перед загрузкой в ​​PyPI:

mpf_mc-0.30.0.dev269-cp34-none-win_amd64.whl

Все работает нормально, переименовав его вручную. Но мне интересно, правильно ли это сделать, или я чего-то не хватает?

4b9b3361

Ответ 1

Кажется, что что-то изменилось с тех пор, как вы разместили свой вопрос - я просто попробовал вашу команду создать файл колес в моем собственном проекте:

~$ python setup.py bdist_wheel --plat-name win_amd64

а файл результата:

my_project-1.0.0-py2-none-win_amd64.whl