Как устранить ошибку установки scipy на Python через pip

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Ошибка "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 выполняется командой:

sh
Скопировать код
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 соблюдайте точность.

Кинга Идем в IT: пошаговый план для смены профессии

Расшифровка имени файла wheel и особенностей вашей системы

При возникновении ошибки первым делом стоит обратить внимание на имя файла и характеристики системы. Файл wheel имеет имя по определенному шаблону: пакет-версия-cpXY-none/abi3/платформа.whl, где XY должно соответствовать версии Python на вашем компьютере.

Запуск вашего pip

Обновите pip до последней версии для гарантии совместимости с файлами wheel:

sh
Скопировать код
# Разработчики Python предпочитают свежие версии
python -m pip install --upgrade pip

Обновление pip часто способствует корректной работе с файлами wheel.

Определение архитектуры Python

Введите следующую команду для определения является ли ваш Python 32-битным или 64-битным:

sh
Скопировать код
# 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.

Визуализация

Markdown
Скопировать код
| Тег Wheel                       | Замок (Платформа) |
| ------------------------------- | ------------------ |
| cp27-cp27m-win_amd64            | 🔑🔒                |
| cp38-none-any                   | 🔑🌍                |
| cp36-cp36m-macosx_10_9_x86_64   | 🔑🍏                |
  • 🔑🔒: Ключ к определенной системе, необходимый для установки.
  • 🔑🌍: Универсальный ключ, подходящий вне зависимости от системы.
  • 🔑🍏: Специфический ключ, требуемый в среде macOS.
Markdown
Скопировать код
Подводя итог: 
🖥️ Ключ файла filename.whl 🔑 должен соответствовать системе, на которой он будет устанавливаться 🔒.

Установка файла wheel невозможна при несовпадении ключа!

Применяем мощные решения – Сборка из исходного кода

Если ваша система не поддерживает имеющиеся файлы wheel, соберите пакет из исходников:

sh
Скопировать код
pip install --no-binary :all: package_name
# Эффективное решение, если нет скомпилированных файлов wheel

Такой подход заставляет pip компилировать пакет, а не искать готовые файлы wheel.

Анализ работы pip с использованием отладочного вывода

Отладочный вывод pip можно использовать для анализа проблем:

sh
Скопировать код
pip install your_package.whl -v
# Вы получите больше информации, чем только сообщение об ошибке!

Эти логи помогут понять, почему pip отклоняет установку wheel файла.

Предотвращение начальных ошибок – проверьте имя файла

Убедитесь, что имя файла wheel было указано без опечаток и точно отражает требуемые характеристики. Опечатки, ошибки в указании версий могут стать причиной возникновения ошибок.

При обновлении не забывайте о соответствии версии Python требованиям пакетов. Последние выпуски Python обычно совместимы с большим числом современных пакетов.

Полезные ссылки

  1. PEP 425 – Совместимость тегов для сборок — объясняет принципы именования и теги совместимости для файлов wheel.
  2. Упаковка и распространение проектов – Пользовательское руководство Python — официальное руководство по созданию и распространению пакетов Python с использованием wheel.
  3. setuptools – Как создать wheel, оптимизированный для конкретной платформы? – Stack Overflow — практические рекомендации по созданию файлов wheel для определенных платформ.
  4. Python Wheels — общая информация о файле wheel и его преимуществах при распространении пакетов Python.
  5. GitHub – pypa/pip: Инструмент для установки пакетов Python — официальный репозиторий инструментария pip для работы с Python пакетами.
  6. Конвертация кода из Python 2 в Python 3 — Документация Python — рекомендации по обеспечению совместимости кода между разными версиями Python.
  7. GitHub – pypa/auditwheel: Аудит и изменение Linux wheel файлов для обеспечения их переносимости — инструмент для создания переносимых Python wheel, подходящих для разных Linux дистрибутивов.