Termux に numpy をインストールするときに、pip がエラーをスローするのはなぜですか?

Termux に numpy をインストールするときに、pip がエラーをスローするのはなぜですか?

Termux に numpy をインストールしています。 を実行するとpip install numpy --no-cache-dir、次のエラーが発生しました:

File "/data/data/com.termux/files/usr/tmp/pip-install-ywfqxfk8/numpy_cf9d5c136bf14c7f9ce4181f190e4581/numpy/core/setup.py", line 171, in check_math_capabilities
          raise SystemError("One of the required function to build numpy is not"
      SystemError: One of the required function to build numpy is not available (the list is ['sin', 'cos', 'tan', 'sinh', 'cosh', 'tanh', 'fabs', 'floor', 'ceil', 'sqrt', 'log10', 'log', 'exp', 'asin', 'acos', 'atan', 'fmod', 'modf', 'frexp', 'ldexp']).

完全な出力は次のとおりです:https://pastebin.com/ExnbqtDcなぜこのようなことが起こるのでしょうか、またどうすれば修正できるのでしょうか?


パッケージ wheel および setuptools がインストールされています。

答え1

使用:

MATHLIB="m" pip3 install numpy

答え2

理由はわかりませんが、これも機能し、Termux の場合ははるかに高速であるようです。

LDFLAGS="-lm -lcompiler_rt" pip install cython numpy

答え3

xuziyue さんの回答に追加:

短縮版:

Pythonのインストールと互換性のあるNumpyバージョンをインストールする必要があります。ここ


長いバージョン:

最初はただ実行しました:

MATHLIB="m" pip install numpy

これによりNumPyは正常にインストールされましたが、後でインポートするときに多くのエラーが発生するそれをコードに組み込みます。

しかし実行しpython --versionてこれと照合するテーブル、次に試してください:

MATHLIB="m" pip install numpy==1.24

これにより、実際にすべてが期待どおりに動作するようになりました。


参考までに、私は現在これを Android で実行しています:

  • ターマックス 0.118.0
  • Python 3.10.4
  • ナンピー1.24

お役に立てれば。

関連情報