1.はじめに
SciPy.org で紹介している次の手順で、numpy, matploglib, scipy, pandasがインストールできなかった。
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
アレコレ試行錯誤したので、メモを書き出しておく。
2.環境と補足
scipyを除けば、現在(2021-08-21)の最新版。
- windows10 64bin/cygwin64
- python 3.8
- matplotlib 3.4.3
- numpy 1.21.2
- pandas 1.3.2
- scipy 1.6.3(最新は1.7.1)
半年に1回くらいのペースでcygwin環境を作り直していて、その時に必要なパッケージを都度インストールする。そのため、足らないパッケージのエラーに遭遇することが多い。scipy以外は、こんなところで躓く輩はいないと思うが、何かのヒントになれば嬉しい。
3.インストール
今回の学び
pip install -U {package}
でエラーになったら、次のことを検討する。
-
python setup.py install
を試す。エラーが出ても対処しやすい。 - バージョンを確認して少し古いバージョンをインストールしてみる。
numpayとmatplotlib
- 一端cygwinで次のパッケージをインストール
python38-numpy
python38-matplotlib
gcc-g++
- 改めてpipでインストール
pip install --upgrade numpy
pip install --upgrade matploglib
scipy
scipy 1.7.1は linux/tipc.hがない
とエラーになってインスールできない。
scipy-1.7.1.tar.gz
を使って python setup.py install
でもエラーになったが、pip install
でのエラーより原因の特定が楽だった。
エラーに応じて追加インストールしたのは、次のパッケージ
pip install pybind11
pip install pythran
cygwin/gcc-fortran
-
cygwin/python3-devel
…linux/tips.h
の原因はこれだったはず。
これでもインストールはできず、 scipy-1.6.3.tar.gz
を使って python setup.py install
した。pip install scipy==1.6.3
でもイケたかも。
後付情報だが、これを知っていれば解決は早かったかもしれない。
pandas
pandas-1.3.2.tar.gz
をダウンロードして、 python setup.py install
でインストール。時間は掛かる。
pip install pandas
でもインストールできていたかもしれなけど、 python setup.py install
の方が途中経過が見れるので気分的に楽。インストール後は、pipとして登録される。
4.その他
scipy 1.7.x について
いずれ公開される1.7.2とか1.7.3ならインスールできるかもしれない。
気付いたら試す。
エラー内容は次の通り
WORKING_DIRECTORY/scipy-1.7.1/scipy/_lib/boost/boost/math/tools/promotion.hpp:148:37: error: static assertion failed: Sorry, but this platform does not have sufficient long double support for the special functions to be reliably implemented.
Cygwin64環境なのに、 this platform does not have sufficient long double support
とエラーになっています。おっさん、降参。
参考になりそうな記事
yasuokaの日記: CygwinにSciPyをインストール
最初に知っていたら作業時間が短縮できていたかもしれない。