Как устранить ошибку установки scipy на Python через pip
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Ошибка "filename.whl не поддерживается на данной платформе" появляется, когда файл wheel не соответствует требованиям вашей системы. Рассмотрим на примере this_pkg-1.2.3-cp39-cp39-manylinux1_x86_64.whl
. Теги cp39
, cp39
и manylinux1_x86_64
указывают, что этот пакет предназначен для использования с Python 3.9 на 64-битной Linux системе. Чтобы устранить ошибку, найдите подходящий файл wheel или скомпилируйте пакет из исходников. Установка файла wheel выполняется командой:
pip install this_pkg-1.2.3-cp39-cp39-manylinux1_x86_64.whl
Примечание: При замене this_pkg-1.2.3-cp39-cp39-manylinux1_x86_64.whl
на имя скачанного файла wheel соблюдайте точность.
Расшифровка имени файла wheel и особенностей вашей системы
При возникновении ошибки первым делом стоит обратить внимание на имя файла и характеристики системы. Файл wheel имеет имя по определенному шаблону: пакет-версия-cpXY-none/abi3/платформа.whl
, где XY
должно соответствовать версии Python на вашем компьютере.
Запуск вашего pip
Обновите pip до последней версии для гарантии совместимости с файлами wheel:
# Разработчики Python предпочитают свежие версии
python -m pip install --upgrade pip
Обновление pip часто способствует корректной работе с файлами wheel.
Определение архитектуры Python
Введите следующую команду для определения является ли ваш Python 32-битным или 64-битным:
# Python поможет определить текущую архитектуру
python -c "import struct;print(8 * struct.calcsize('P'))"
Ответом будет 32
или 64
, что указывает на архитектуру вашей версии Python и должно соответствовать тегу файла wheel.
Поиск файлов wheel в интернете
Если на PyPI необходимый вам файл wheel отсутствует, попробуйте найти неофициальные сборки для Windows, например, на сайте Christoph Gohlke:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
Сайты подобного рода зачастую содержат уникальные бинарные пакеты, которые могут стать настоящей находкой для пользователей Windows.
Визуализация
| Тег Wheel | Замок (Платформа) |
| ------------------------------- | ------------------ |
| cp27-cp27m-win_amd64 | 🔑🔒 |
| cp38-none-any | 🔑🌍 |
| cp36-cp36m-macosx_10_9_x86_64 | 🔑🍏 |
- 🔑🔒: Ключ к определенной системе, необходимый для установки.
- 🔑🌍: Универсальный ключ, подходящий вне зависимости от системы.
- 🔑🍏: Специфический ключ, требуемый в среде macOS.
Подводя итог:
🖥️ Ключ файла filename.whl 🔑 должен соответствовать системе, на которой он будет устанавливаться 🔒.
Установка файла wheel невозможна при несовпадении ключа!
Применяем мощные решения – Сборка из исходного кода
Если ваша система не поддерживает имеющиеся файлы wheel, соберите пакет из исходников:
pip install --no-binary :all: package_name
# Эффективное решение, если нет скомпилированных файлов wheel
Такой подход заставляет pip компилировать пакет, а не искать готовые файлы wheel.
Анализ работы pip с использованием отладочного вывода
Отладочный вывод pip можно использовать для анализа проблем:
pip install your_package.whl -v
# Вы получите больше информации, чем только сообщение об ошибке!
Эти логи помогут понять, почему pip отклоняет установку wheel файла.
Предотвращение начальных ошибок – проверьте имя файла
Убедитесь, что имя файла wheel было указано без опечаток и точно отражает требуемые характеристики. Опечатки, ошибки в указании версий могут стать причиной возникновения ошибок.
При обновлении не забывайте о соответствии версии Python требованиям пакетов. Последние выпуски Python обычно совместимы с большим числом современных пакетов.
Полезные ссылки
- PEP 425 – Совместимость тегов для сборок — объясняет принципы именования и теги совместимости для файлов wheel.
- Упаковка и распространение проектов – Пользовательское руководство Python — официальное руководство по созданию и распространению пакетов Python с использованием wheel.
- setuptools – Как создать wheel, оптимизированный для конкретной платформы? – Stack Overflow — практические рекомендации по созданию файлов wheel для определенных платформ.
- Python Wheels — общая информация о файле wheel и его преимуществах при распространении пакетов Python.
- GitHub – pypa/pip: Инструмент для установки пакетов Python — официальный репозиторий инструментария pip для работы с Python пакетами.
- Конвертация кода из Python 2 в Python 3 — Документация Python — рекомендации по обеспечению совместимости кода между разными версиями Python.
- GitHub – pypa/auditwheel: Аудит и изменение Linux wheel файлов для обеспечения их переносимости — инструмент для создания переносимых Python wheel, подходящих для разных Linux дистрибутивов.