У меня есть проект Python, для которого я создаю колесо в системе A. Это колесо не устанавливается в системе B с использованием pip, но происходит сбой с сообщением об ошибке
... не поддерживаетсяколесо на этой платформе
Насколько я могу судить, платформы в системах A и B одинаковы в соответствующих деталях.Я не мог найти исчерпывающую документацию по этому вопросу через Google.Итак, мои вопросы:
- Каков наилучший способ получить строку, описывающую данные платформы, которая используется в файле pip (например, "cp36-cp36m-win_amd64") для данной машины?
- Каков полный набор параметров pip-проверок для целевого колеса и платформы для определения совместимости?
- Как создать колесо, которое можно установить на многих платформах одновременно, аналогично "manylinux "а для Windows / Mac OSx?
Подробности:
Я создаю колесо с помощью команды
python setup.py bdist_wheel
Это создает файл
my_project_name-1.0.1-cp36-cp36m-win_amd64.whl
В моей системе я могу установить колесо с помощью
pip install my_project_name-1.0.1-cp36-cp36m-win_amd64.whl
В целевой системе точно такая же командная строка в том же файле выдает следующую ошибку:
my_project_name-1.0.1-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform
Обе системы являются 64-разрядными Windows 7.
При попытке получить данные платформы на моей системе выдается
>>> import platform
>>> platform.machine()
'AMD64'
>>> platform.platform()
'Windows-7-6.1.7601-SP1'
>>> platform.processor()
'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel'
>>> platform.python_version()
'3.6.0'
При попытке получить данные платформы на целевой системе выдает
import platform
platform.machine()
'AMD64'
platform.platform()
'Windows-7-6.1.7601-SP1'
platform.processor()
'Intel64 Family 6 Model 60 Stepping 3, GenuineIntel'
platform.python_version()
'3.6.3'
Это почти идентично (кроме Пытахон суб-подверсия - это должно иметь какое-то значение?) и поэтому я не знаю, что мешает установке колеса в целевой системе.