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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

1929閲覧

python3 + pandas でエラーがでて実行できない

KojiDoi

総合スコア13671

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2019/03/20 15:30

編集2019/03/21 07:03

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からこれを使うことは可能であるはずだと思うのです。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2019/03/21 04:16 編集

numpy を一旦アンインストールし、最新版に更新してみてはどうでしょうか。 なんらかの理由で numpy が使う共有ライブラリの読み込みに失敗していると思われます。
guest

回答2

0

このエラーは、numpy が使う共有ライブラリの読み込みに失敗していることが原因です。/usr/bin/python3 のpythonを使っているといういうことは、Ubuntu のシステムのPython3を使っていますが、システムのPython3に不注意にnumpyをインストールするとこのようなことがしばしば発生します。Ubuntu のシステムにインストールする場合、numpy であれば sudo apt python3-numpy、pandas であれば sudo apt python3-pandasというように Ubuntu のパッケージを使うのが本来です。

詳しく書くと長くなるので、一番簡単なのが仮想環境を作成してそれのPythonを使うことだと思うので、その方法だけ書いておきます。まず、python3-venvがインストールできていなければまずそれをインストールします。次に、適当なディレクトリーで以下のコマンドを実行してくさい。

python3 -m venv .venv # 仮想環境の作成 . .venv/bin/activate # 仮想環境に入る pip install panda # pandas, numpy のインストール

投稿2019/03/21 04:53

編集2019/03/21 05:37
YasuhiroNiji

総合スコア584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

試行錯誤してみた結果、問題点が当初考えていたのと少し違う気がしてきました。読みにくくなってしまっているので、いったんこの質問をクローズして新たに出し直すことにします。

投稿2019/03/22 14:23

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問