2018年12月29日土曜日

numpy, pandasが使えなくなって入れ直した話

(windows7, py35 32bit)

32bitのpython35を入れたvenvでいろいろいじっていたとき、numpyがおかしくなりました。

numpyがimportできなくなり、import multiarray Errorが出る。
git clearnをやってみるように、と表示が出ています。

対策:
numpyのバージョンが古かったのが原因?アップグレードしたら直りました。
同時に使っているmklなども同時にアップグレードされ、直りました。

さらにpandasがおかしい


pandasがインポートできなくなりました

ImportError: C extension: No module named 'pandas._libs.tslib' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.

pnadas.__libs.tslib がないようです。

conda install -c anaconda pandas

とやってチャンネルをanacondaにしました。他のqt, freetype, zlib- などもそのときconda-forgeからanacondaで入れなおしているようでした。

・・・

envs\...\site-packages\pandas\_libs

にある tslib.cp35-win_amd64.pyd

を使っているようでしたが、amd64は32bitではNGです。これで64bitを入れていたのが問題だったと分かりました。

condaでwin32のbuildバージョンを調べて、

conda install pandas=0.23.4=py35XXXXX

とやってみましたが、_libsディレクトリの中身がamd64で使えませんでした。

結局、whlファイルを直接ダウンロードしました。
Unofficial Windows Binaries for Python Extension Packages
https://www.lfd.uci.edu/~gohlke/pythonlibs/
からwhlを落としてきて、whlファイルのあるディレクトリで
pip install pandas-0.23.4-c35-cp35m-win32.whl

とやってインストールできました。確認するには

venv\...\site-packages\pandas\_libs



tslib.cp35-win32.pyd

が入っていればOKです。

0 件のコメント:

コメントを投稿