質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

受付中

tensorflow をインストールしたい。

somatimes
somatimes

総合スコア1

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0評価

0クリップ

372閲覧

投稿2022/06/25 15:16

編集2022/07/29 15:39

m1 macのRosetta 2 環境において、tensorflow をインストールしたいと思い、
https://zenn.dev/_lambda314/articles/318d2622dcad85
に従ってインストールを進めたのですが、最後にターミナル上で、

pip install /tmp/tensorflow_pkg/tensorflow-2.5.0-cp38-cp38-macosx_11_0_x86_64.whl

と打ったところ、

WARNING: Requirement '/tmp/tensorflow_pkg/tensorflow-2.5.0-cp38-cp38-macosx_11_0_x86_64.whl' looks like a filename, but the file does not exist
ERROR: tensorflow-2.5.0-cp38-cp38-macosx_11_0_x86_64.whl is not a supported wheel on this platform.

と出ました。

その後、自分のtensorflowのバージョンを確認したり('pip list')、
macosのバージョンを確認したり(「このMacについて」を確認)して、

pip install /tmp/tensorflow_pkg/tensorflow-2.9.1-cp38-cp38-macosx_12_4_x86_64.whl

としてみたりしたのですが、どうやっても上のエラーが起きます。

対処法等教えていただきたいです。

(追記)
以下の前提と目的があります。

・uname -m
の実行結果は、
x86_64

・python -VV
の実行結果は、
Python 3.9.12 (main, Apr 5 2022, 01:53:17)
[Clang 12.0.0 ]

です。

・tensorflowを使いたいのはdeeplabcutを使うためです。
・「uname -m」を実行したら「x86_64」と表示される状態でanacondaを使っていて、deeplabcutをインストールするために
https://github.com/DeepLabCut/DeepLabCut/blob/master/docs/installation.md#step-2-please-use-our-supplied-anaconda-environment
の「Step 2:」の手順を実行しました。
・現状pythonで「import tensorflow as tf」を実行したら「zsh: illegal hardware instruction python」となるので、そうならないようにしたいです。

当該の質問はこちらです。
https://teratail.com/questions/q4snqgtmeb84k3

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

jbpb0

2022/06/25 23:34 編集

> pip install /tmp/tensorflow_pkg/tensorflow-2.5.0-cp38-cp38-macosx_11_0_x86_64.whl > pip install /tmp/tensorflow_pkg/tensorflow-2.9.1-cp38-cp38-macosx_12_4_x86_64.whl > the file does not exist 「/tmp」に「tensorflow_pkg」という名前のディレクトリは有りますでしょうか? もし有るなら、そこにファイル名が下記のファイルは有りますでしょうか? tensorflow-2.5.0-cp38-cp38-macosx_11_0_x86_64.whl tensorflow-2.9.1-cp38-cp38-macosx_12_4_x86_64.whl 上記がどちらも無いなら、そこに別のファイルが有れば、そのファイル名を教えてください また、上記のようにファイル名に「cp38」が付いてるのはpython 3.8用ですが、今回tensorflowをインストールしようとしてるpythonのバージョンは3.8で間違い無いでしょうか? 【追記】 https://teratail.com/questions/q4snqgtmeb84k3 を見たら、python 3.9を使ってるようですね 「/tmp/tensorflow_pkg」に、ファイル名に「cp39」が付いてるwhlファイルは有りませんでしょうか?
fourteenlength

2022/06/25 21:56 編集

「Rosetta 2」なMacを使ったことがないのですが、これは本来のアーキテクチャAARCH64をX86_64に見せかける技術--で合っていますか? > ERROR: tensorflow-2.5.0-cp38-cp38-macosx_11_0_x86_64.whl is not a supported wheel on this platform. ここで怪しいと思うのは、jbpb0さんのコメントにあるように「cp38」の部分と、ほかには「macosx_11」の部分、最後に「x86_64」の部分です。全てかみ合っていないとpip3 install ○○.whlは通りません。 Rosettaのことは先ほど初めてて知りましたが、 https://okumuralab.org/~okumura/macosx/m1.html には「x86_64」モードに切り替える必要があるような内容が書かれています。 ※詳細は分かりません。可能性の話です。 --- > ※ 2021年3月現在,ネイティブ環境下で主要ライブラリの導入が可能になっているため,本記事の情報は古いです. とTFのインストールの参考に挙げられたURLにありました。 もしかしたら、特別なwhlをコンパイルしたりDLしたりの対応なんかしなくても、普通に pip3 install tensorflow とするだけで適切なTensorflowがインストールできるかもしれません。
jbpb0

2022/06/25 22:56 編集

https://github.com/DeepLabCut/DeepLabCut/blob/8fc83b64a04a8e0e962fd51a30262237d2bb5695/docs/recipes/installTips.md#deeplabcut-m1-chip-installation-environment-instructions の「DeepLabCut M1 chip installation environment instructions:」を見ると、 https://drive.google.com/file/d/17pSwfoNuyf3YR8vCaVggHeI-pMQ3xL7l/view?usp=sharing から「tensorflow-2.4.1-py3-none-any.whl」をダウンロードして下記を実行したら、Rosetta環境にインストールできるみたいです pip install tensorflow-2.4.1-py3-none-any.whl --no-dependencies --force-reinstall ただし、 https://github.com/DeepLabCut/DeepLabCut/blob/8fc83b64a04a8e0e962fd51a30262237d2bb5695/conda-environments/DEEPLABCUT_M1.yaml の「dependencies:」に「python=3.7」と書かれてるので、python 3.7じゃないと動かないかも (python 3.7の仮想環境を作って、そこにインストールするとか)
somatimes

2022/06/26 01:33

> 「/tmp」に「tensorflow_pkg」という名前のディレクトリは有りますでしょうか? まず、tmpというファイルが見当たりません。 tensorflow-2.○.○-cp○○-cp○○-macosx_○_○_x86_64.whl という形のファイルも見当たらないようです。
jbpb0

2022/06/26 06:36 編集

> tmpというファイルが見当たりません。 「/tmp」は、ファイルじゃなくてディレクトリです ターミナルで下記を実行したら、何て表示されますでしょうか? ls -l /tmp 【追記】 finderで開く場合はこれ見てください https://tech.withsin.net/2016/04/01/mac-finder/
quickquip

2022/06/26 07:40

客観的な情報があるといいと思います。 uname -m python -VV file `python -c 'import sys; print(sys.executable)'` の実行結果あたりを質問を編集して書き足してください。(アカウント名などにはマスクしていいです) uname -m はターミナルが扱っているCPUアーキテクチャのモードの表示です。file `python〜` もpythonコマンドのCPUアーキテクチャの確認になっています。
jbpb0

2022/06/26 10:27

> tensorflow-2.○.○-cp○○-cp○○-macosx_○_○_x86_64.whl という形のファイルも見当たらない があるかもしれないのは、「/tmp/tensorflow_pkg」というディレクトリです ターミナルで下記を実行したら、どうなりますでしょうか? ls -l /tmp/tensorflow_pkg
jbpb0

2022/06/26 11:53 編集

質問者さん 私以外の人は、おそらく https://teratail.com/questions/q4snqgtmeb84k3 でのやりとりを見てないので、前提条件が分かりません この質問を編集して、以下を追記した方がいいと思います (ここに書くのではなく、質問を編集して追記する) ・tensorflowを使いたいのはdeeplabcutを使うため ・「uname -m」を実行したら「x86_64」と表示される状態でanacondaを使ってて、deeplabcutをインストールするために https://github.com/DeepLabCut/DeepLabCut/blob/master/docs/installation.md#step-2-please-use-our-supplied-anaconda-environment の「Step 2:」の手順を実行した ・現状pythonで「import tensorflow as tf」を実行したら「zsh: illegal hardware instruction python」となるので、そうならないようにしたい
somatimes

2022/06/26 16:04 編集

みなさまご意見ありがとうございます。 情報不足で申し訳ありません。 追記いたしました。
somatimes

2022/06/26 16:05

> ターミナルで下記を実行したら、何て表示されますでしょうか? > ls -l /tmp lrwxr-xr-x@ 1 root wheel 11 5 10 06:30 /tmp -> private/tmp と出ました。
somatimes

2022/06/26 18:01

> ls -l /tmp/tensorflow_pkg を実行すると、 total 493568 -rw-r--r-- 1 soma wheel 238915020 6 25 23:49 tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl と出ましたので、pip install /tmp/tensorflow_pkg/tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl としますと、 ERROR: tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl is not a supported wheel on this platform. とのみ出ました。
fourteenlength

2022/06/26 21:26

っぽいバグ報告がありました。 How to run tensorflow 2.4.0 on ARM Mac using Rosetta 2 https://github.com/tensorflow/tensorflow/issues/45434 AVX命令をサポートしてない環境なのにWHLはAVX命令を必要だといってゴネている、的なコメントがあり、「BazelでTFをコンパイルしたらうまくいった」にイイねがたくさんついていました。 isamilefchikさんが専用にコンパイルしたデータを公開してくれています。うまくいったのか、このコメントに💛がつきまくっています。 https://github.com/tensorflow/tensorflow/issues/46044#issuecomment-797151218 tensorflow-1.15.0-py3-none-any.whl tensorflow-2.4.1-py3-none-any.whl tensorflow-2.5.0-py3-none-any.whl
jbpb0

2022/06/26 23:30

質問者さん fourteenlengthさんが紹介してる https://github.com/tensorflow/tensorflow/issues/46044#issuecomment-797151218 は、私が紹介した https://github.com/DeepLabCut/DeepLabCut/blob/8fc83b64a04a8e0e962fd51a30262237d2bb5695/docs/recipes/installTips.md#deeplabcut-m1-chip-installation-environment-instructions の「DeepLabCut M1 chip installation environment instructions:」の「(3) Click here to download the Rosetta wheel for TensorFlow.」で参照されてるのと同じものです
jbpb0

2022/06/27 04:15 編集

> tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl is not a supported wheel on this platform. pip3 install /tmp/tensorflow_pkg/tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl でもダメでしょうか? 上記でもダメなら、ターミナルで下記を実行した結果を教えてください which -a python which -a python3 which -a pip which -a pip3 また、pip(またはpip3)実行時に、「uname -mの実行結果はx86_64」であることを再度ご確認ください
somatimes

2022/06/27 07:44 編集

pip3 でも同じ ERROR: tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl is not a supported wheel on this platform. が出ました。 which -a python の結果 /Users/soma/opt/anaconda3/bin/python which -a python3 の結果 /Users/soma/opt/anaconda3/bin/python3 /usr/bin/python3 which -a pip の結果 /Users/soma/opt/anaconda3/bin/pip which -a pip3 の結果 /Users/soma/opt/anaconda3/bin/pip3 /usr/bin/pip3 でした。 uname -mの実行結果はx86_64 です。
fourteenlength

2022/06/27 10:17 編集

ここまで出来合いの物でうまくいかないとなると、自力コンパイルが一番堅そうですね…。TFの自力コンパイルはCPUにもよりますが4-8hコースです。再発した時に困らないようにコンパイルしたwhlを取っておくと良いです。 もしBazelの動かない環境で、しかも公開されているバージョンのBazelでもうまくいかなかったとすると、Bazelのコンパイルも必要になります。こっちはCPUにもよりますが1hコースです。
jbpb0

2022/06/27 15:18

fourteenlengthさん > ここまで出来合いの物でうまくいかないとなると、自力コンパイルが一番堅そうですね…。 質問者さんがpip installしようとしてる /tmp/tensorflow_pkg/tensorflow-2.10.0-cp39-cp39-macosx_12_0_x86_64.whl は、 https://zenn.dev/_lambda314/articles/318d2622dcad85 に書かれてる手順で、質問者さんがBazelを用いてビルドしたものです なぜかpip installで「not a supported wheel on this platform.」となってしまい、インストールできないのですが fourteenlengthさん(と私)が紹介した、google driveからダウンロードできるRosetta用wheelは、おそらく質問者さんはまだ試してないと思います
jbpb0

2022/06/27 15:38

「not a supported wheel on this platform.」の原因は、違うpythonに紐付いたpipを実行してるのかも、と思ったのですが、下記の結果を見ると大丈夫ですね > which -a python の結果 > which -a python3 の結果 > which -a pip の結果 > which -a pip3 の結果

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。