#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 os2. @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).