ubuntuにてpython3のスクリプトを使おうとしたところ、pandasをimportしようとすると失敗するという事態に遭遇しました。
原因と対策をご存じの方、ご教示願えないでしょうか。
発生している問題
以下のような簡単なテストスクリプトを実行しようとしました。
python
1import pandas as pd 2 3df1 = pd.DataFrame({"date":( 4"2012-01-01 00:00:00", 5"2012-01-01 00:00:00", 6"2012-01-02 00:00:00", 7"2014-04-18 00:00:00")}) 8 9print(df1)
すると以下のようなエラーが返ってきます。
$ python3 dftest1.py [ ~/work ] Traceback (most recent call last): File "dftest1.py", line 2, in <module> import pandas as pd File "/usr/lib/python3/dist-packages/pandas/__init__.py", line 7, in <module> from pandas import hashtable, tslib, lib File "pandas/src/numpy.pxd", line 157, in init pandas.hashtable (pandas/hashtable.c:38262) File "/usr/lib/python3/dist-packages/numpy/__init__.py", line 153, in <module> from . import add_newdocs File "/usr/lib/python3/dist-packages/numpy/add_newdocs.py", line 13, in <module> from numpy.lib import add_newdoc File "/usr/lib/python3/dist-packages/numpy/lib/__init__.py", line 8, in <module> from .type_check import * File "/usr/lib/python3/dist-packages/numpy/lib/type_check.py", line 11, in <module> import numpy.core.numeric as _nx File "/usr/lib/python3/dist-packages/numpy/core/__init__.py", line 6, in <module> from . import multiarray SystemError: initialization of multiarray raised unreported exception
試したこと
エラーメッセージでググっては見ましたが、ヒットしたstackoverflow, googlegroupsのスレッドは私の状況には合致しないようにみえます。(2と3の混同はありえません。)
さらに不思議なことにipython3では問題なく実行できます。
同じバージョンのpythonで実行されているはずであり、なぜこういう違いが出るのか理解できません。
$ which python3 [ ~/work ] /usr/bin/python3 kdoi2 5814 [work] $ head `which ipython3` [ ~/work ] #! /usr/bin/python3 # EASY-INSTALL-ENTRY-SCRIPT: 'ipython==1.2.1','console_scripts','ipython3' __requires__ = 'ipython==1.2.1' import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('ipython==1.2.1', 'console_scripts', 'ipython3')() )
この問題の原因と対策をご教示願えないでしょうか。
補足情報(FW/ツールのバージョンなど)
$ uname -a Linux kdoi 3.13.0-163-generic #213-Ubuntu SMP Thu Nov 15 02:19:07 UTC 2018 x86_64 kdoi2 $ python3 -V Python 3.4.3 $ ipython3 -V 1.2.1
追記
大事なことを書き忘れていました。python3+pandasのスクリプトはつい先日までこのシステム上で問題なく動いていたのです。
ところがいつのまにか動かなくなっていたことを昨日になって発見した次第です。
numpyはちゃんと入っていることになっています。
念の為、apt removeしてapt installし直してみましたが、事態は変わりませんでした。
$ apt install python3-numpy Reading package lists... Done Building dependency tree Reading state information... Done python3-numpy is already the newest version. The following packages were automatically installed and are no longer required: cdbs dh-translations intltool libblas-dev liblapack-dev libncurses5-dev linux-headers-3.13.0-119 linux-headers-3.13.0-119-generic Use 'apt-get autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 173 not upgraded.
python3-venyは何故かインストールできません。
# apt-get install python3-venv Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python3-venv
なにより納得できないのは、上に書いたように、ipython3からはpandasもnumpyも問題なく使えているということです。これはとりもなおさず当該ライブラリパッケージのインストール自体はできているということで、再インストールや別環境の用意をせずとも素のpythonからこれを使うことは可能であるはずだと思うのです。
回答2件
あなたの回答
tips
プレビュー