Python】import pandas, error pandas Missing required dependencies ['numpy'] Reason Analysis
結論から言うと を使用する場合
import pandas
を同じディレクトリに置くと
はありません。
unittest.py
同名のファイル
と同じになります。
pandas
がついてきます。
unittest
のコンフリクトが発生するため
import pandas
は失敗します。
エラー使用シナリオのレプリケーション
testpandas.pyが作成され、同じレベルのディレクトリにunittest.pyが作成されます。
testpandas.pyでpandasをインポートし、実行したところ、エラーが発生しました。
エラーメッセージ
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pandas\__init__.py", line 13, in <module>
__import__(dependency)
File "C:\Python27\lib\site-packages\numpy\__init__.py", line 187, in <module>
from .testing import Tester
File "C:\Python27\lib\site-packages\numpy\testing\__init__.py", line 10, in <module>
from unittest import TestCase
ImportError: cannot import name TestCase
Traceback (most recent call last):
File "C:/Users/Bug/PycharmProjects/md-jobs-latest/app/mdjob/testpandas.py", line 8, in <module>
import pandas
File "C:\Python27\lib\site-packages\pandas\__init__.py", line 20, in <module>
"Missing required dependencies {0}".format(missing_dependencies))
ImportError: Missing required dependencies ['numpy']
原因分析
報告されたエラーに基づき、以下の項目を確認します。
C:\Python27\lib\site-packages\numpy\testing\__init__.py
のソースコードは、以下の通りです。
"""Common test support for all numpy test scripts.
This single module should provide all the common functionality for numpy tests
in a single location, so that test scripts can just import it and work right
away.
"""
from __future__ import division, absolute_import, print_function
from unittest import TestCase
from . _private.utils import *
from . _private import decorators as dec
from . _private.nosetester import (
run_module_suite, NoseTester as Tester
)
__all__ = _private.utils.__all__ + ['TestCase', 'run_module_suite']
from numpy._pytesttester import PytestTester
test = PytestTester(__name__)
del PytestTester
ご覧のように、10行目の
from unittest import TestCase
は
testpandas.py
と同じレベルのディレクトリにある
unittest
(作成したもの)は同名でコンフリクトを発生させます。
つまり
unittest
にはありません。
TestCase
. というのも理解できる。
unittest
名前が公式を汚染している
unittest
を誤って参照し、自作した
unittest
というエラーが表示されます。
解決方法
の場合は
import pandas
が同じレベルのディレクトリにあるとき
がない場合は
unittest.py
と同じ名前のファイルが
そうでない場合は
pandas
がついてきます。
unittest
のコンフリクトが発生するため
import pandas
は失敗します。
拡大表示:から 未来 インポートabsolute_importの役割
について
from __future__ import absolute_import
何をするのか
直感的には、"を意味します。
この新機能の絶対的な導入を追加する
"です。絶対的な導入というと、もちろん相対的な導入のことを考えますよね。
では、相対的導入とは何でしょうか。例えば、次のようなパッケージ構造があるとします。
pkg/
pkg/init.py
pkg/main.py
pkg/string.py
に新しい行を追加すると
main.py
と書くと
import string
とすると、Python 2.4 以前では、Python はまずカレントディレクトリで string.py を探し、見つかったらそのモジュールを取り込んで、main.py で直接 string を使えるようにします。もし本当に
string.py
を使いたいのであれば、それはそれでよいのですが、もし標準の
string.py
は?では、同じディレクトリにあるstring.pyを無視して、システムに付属する標準のstring.pyを持ってくる良いクリーンな方法はないでしょう。
from __future__ import absolute_import
そこで、absolute_importをインポートする必要があります。 このようにすると
import string
を持ち込んで、システム標準の
string.py
を使用しながら
from pkg import string
のカレントディレクトリを持ち込むために
string.py
をカレントディレクトリに
関連
-
AttributeError: 'mywindow' オブジェクトには 'setCentralWidget' という属性がありません。
-
Python「lxmlを使ったxpathのパース - コナちゃんをクローリングする
-
concat を使用して 2 つのデータフレームを結合する際のエラー
-
adb デバイス オフライン
-
Pythonインストールモジュールエラー AttributeError: モジュール 'pip' には 'main' という属性がありません。
-
Ubuntu pip AttributeError: 'module' オブジェクトに '_main' 属性がない。
-
scipyという名前のモジュールがない場合の解決策|エラー
-
OSError[Errno 48]:アドレスは既に使用されています 解決方法
-
Pythonモジュールの簡単な説明(とても詳しいです!)。
-
メール送信を自動化するPython - Blog内のメッセージのメールアドレスを自動で取得して送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX2 解決策
-
Python は '' で '__main__' モジュールを見つけることができません。
-
Pandasの属性エラーです。AttributeError: 'Series' オブジェクトに 'reshape' 属性がない Solution
-
RuntimeWarning: ログでゼロによる除算に遭遇した
-
AttributeError: 'module' オブジェクトには 'SSL_ST_INIT' 属性がない ソリューション
-
移動平均のPython実装
-
Python OSError: [Errno 22] 無効な引数: solution
-
TypeError: バイトライクオブジェクトで文字列パターンを使用できない
-
TypeError: 'str' と 'int' のインスタンスの間で '<' はサポートされていません。
-
idea create python project report Unresolved reference 'xxx' .... の解決策