ОШИБКА: (колесо).whl не является поддерживаемым колесом на этой платформе

#python #python-3.x #tensorflow #anaconda #bazel

#python #python-3.x #тензорный поток #anaconda #bazel

Вопрос:

Я пытаюсь создать Tensorflow из исходного кода (если я устанавливаю напрямую, он работает нормально, но я пытаюсь получить поддержку расширений AVX2 / FMA, поскольку я не могу использовать CUDA / GPU), и я следую этому руководству по созданию Tensorflow 1.15 (который необходим для проекта, который я использую, я не могуиспользуйте 2.x).

Я успешно построил Tensorflow, но когда я пытаюсь установить колесо с помощью pip, я получаю следующую ошибку:

ERROR: tensorflow-1.15.5-cp37-cp37m-macosx_11_0_x86_64.whl is not a supported wheel on this platform.

Ну, я знаю, что означает ошибка, но проблема в том, что:

Колесо, как следует из имени файла, создано для:

  • Python 3.7
  • macOS 11.0
  • x86 / 64

Это уже то, что у меня есть (да, дважды проверил версию Python, это точно Python 3.7.9 , и нет, я не на M1, если это имеет значение, я на Intel Mac). Почему я получаю это сообщение об ошибке, хотя я на платформе, для которой создано колесо?

ОБНОВЛЕНИЕ: я уже нахожусь на последней pip версии на момент написания, и я могу проверить pip и python указать на ту же версию:

 (tf) can@can-mbp tensorflow % which pip 
/opt/anaconda3/envs/tf/bin/pip
(tf) can@can-mbp tensorflow % which python
/opt/anaconda3/envs/tf/bin/python
(tf) can@can-mbp tensorflow % pip -V
pip 21.0 from /opt/anaconda3/envs/tf/lib/python3.7/site-packages/pip (python 3.7)
(tf) can@can-mbp tensorflow % python -V
Python 3.7.9
 

Комментарии:

1. Попробуйте обновить свою pip версию. Я считаю, что в более старых версиях есть ошибка с более новыми версиями Mac os

2. @C.Nivs Я пробовал оба способа, одна и та же ошибка. Я также проверил, что они указывают на ту же установку из среды Anaconda, в которой я нахожусь. смотрите Обновленный вопрос.

3. Возможно, связано с github.com/apple/tensorflow_macos/issues/46 ? Упоминаются некоторые обходные пути, но я не на Mac, поэтому не могу протестировать.

4. @Axe319 невероятно. это сработало. вы можете опубликовать это как ответ, чтобы я мог принять его, когда он будет доступен.

5. Вы можете самостоятельно ответить, когда это будет доступно для вас, если хотите. Я уверен, что вы можете предоставить больше деталей, чем я мог бы, поскольку я на самом деле не использую Mac. Я просто немного покопался в pip источнике, чтобы посмотреть, что вызовет ошибку.

Ответ №1:

ДЛЯ MACOS — BIG SUR

Я смог решить эту проблему, когда обнаружил, что версия операционной системы macOS не соответствует версии, фактически распознанной python

Я использую macOS 11.4, файл с этой версией. Но при вводе команды в терминале я обнаружил, что python распознает 11.0.

 python3
from distutils import util
util.get_platform()
>> 'macosx-11.0-arm64'
 

сгенерированное имя файла:

opencv_python-4.5.2 2344814- cp39-cp39-macosx_11_4_arm64.whl

новое имя файла:

opencv_python-4.5.2 2344814- cp39-cp39-macosx_11_0_arm64.whl

Ответ №2:

После комментария @Axe319 я взглянул на https://github.com/apple/tensorflow_macos/issues/46 и увидел, что простое изменение раздела операционной системы имени файла колеса на 10_9 работает. Вероятно, есть ошибка при синтаксическом анализе macOS 11.0 или Python не считает, что он поддерживает 11.0 (возможно, эта конкретная версия Python / pip была до выпуска Big Sur).