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

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

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

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

NumPy

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

2318閲覧

pandas、numpyをインポートしたpythonファイルが正しく実行できない現象

tasojiro

総合スコア16

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

NumPy

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/06/12 11:35

前提・実現したいこと

タイトルにある通り、インポートに「pandas」「numpy」を含んだファイルを実行できない状態です。

コードは以下のサイトを参考にしました。
https://algorithm.joho.info/machine-learning/python-scikit-learn-regression-multiple/

発生している問題・エラーメッセージ

& C:/Users/aaa/anaconda3/python.exe c:/Users/aaa/Desktop/Web_API_Test/predictive_analytics.py C:\Users\aaa\anaconda3\lib\site-packages\numpy\__init__.py:143: UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service from . import _distributor_init Traceback (most recent call last): File "c:/Users/aaa/Desktop/Web_API_Test/predictive_analytics.py", line 2, in <module> import pandas File "C:\Users\aaa\AppData\Roaming\Python\Python38\site-packages\pandas\__init__.py", line 16, in <module> raise ImportError( ImportError: Unable to import required dependencies: numpy: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed. We have compiled some common reasons and troubleshooting tips at: https://numpy.org/devdocs/user/troubleshooting-importerror.html Please note and check the following: * The Python version is: Python3.8 from "C:\Users\aaa\anaconda3\python.exe" * The NumPy version is: "1.20.2" and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help. Original error was: DLL load failed while importing _multiarray_umath: 指定されたモジュールが見つかりません。

該当のソースコード

Python

1# -*- coding: utf-8 -*- 2import pandas 3import numpy 4from sklearn import linear_model 5from sklearn.externals import joblib 6 7data = pandas.read_csv("c:\Users\aaa\Desktop\Web_API_Test\dataset.csv", sep=",") 8 9clf = linear_model.LinearRegression() 10 11X = data.loc[:, ["temperature","humidity","illuminance,co2","discomfort_index","discomfort_level"]].values 12Y = data["how_crowded"].values 13 14clf.fit(X,Y) 15 16a = clf.coef_ 17b = clf.intercept_ 18 19print("回帰係数:", a) 20print("切片:", b) 21print("決定係数:", clf.score(X, Y)) 22 23joblib.dump(clf, 'multiple.learn')

試したこと

numpyの再インストールや、バージョンの確認など調べた対策はできる限り施してみました。
個人的に、numpyがcondaとpipでごっちゃになってる感じはしてます。(直し方が分からない)
間違っているかもしれません。

補足情報(FW/ツールのバージョンなど)

Anaconda Promptにて以下を実行しnumpyを確認。

> ipython In[1]:import numpy as np In[2]:np.test() ------------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) <ipython-input-2-c9f625191c23> in <module> ----> 1 np.test() ~\anaconda3\lib\site-packages\numpy\_pytesttester.py in __call__(self, label, verbose, extra_argv, doctests, coverage, durations, tests) 138 139 """ --> 140 import pytest 141 import warnings 142 ModuleNotFoundError: No module named 'pytest'

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

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

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

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

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

guest

回答1

0

ベストアンサー

numpyの不整合が起きています。おそらく、

import numpy

という一行だけのプログラムでも同じエラーが起きる可能性が高いです。

Anacondaは整合性のあるnumpyなどを同梱していますので、こういう不整合が起こるのは、pipを使ってnumpyを別バージョンに置き換えるなどを行った結果でしょう。
エラーメッセージを見る限り、Basic Linear Algebra Subprograms(BLAS)の動的リンクライブラリの不整合と、BLASとOpenMPの不整合が起きているようです。

一旦Anacondaをアンインストールしてから、再度インストールすることを強くお勧めします。

投稿2021/06/12 12:02

ppaul

総合スコア24666

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

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

fukatani

2021/06/12 12:23

この回答の通り、Anacondaを使うときはとにかくpipをしないことが大事で、pipすると壊れる可能性があります。 個人的にはAnacondaを使うのを避けています。
tasojiro

2021/06/12 15:45

ppaul様、fukatani様 なるほど。やはり、condaとpipの整合性が問題なのですね。 ちなみに、Anacondaをアンインストールしてその後の状態で足りないライブラリをpipのみでインストールしていく手法をとっても問題ないでしょうか? どのサイトもライブラリをインストールする際にはpipでインストールしていることが多いので、統一するためにもと思いましたが、Anacondaのパッケージはいろいろとまとめられているので、0からpipでの埋め合わせは大変かと思いました。
ppaul

2021/06/12 23:54

使用するライブラリが、pandas、numpy、scikit-learnだけならば、Anacondaをインストールして個別のライブラリをインストールせずにこのプログラムを実行すれば、問題なく動くでしょう。危ないのは、他のアプリを使うために何らかのライブラリをpipでインストールした場合に、numpyのようにCやFORANのライブラリをつかうPythonライブラリをバージョンアップしたりバージョンダウンした場合です。 Anacondaであぶないことをやりたい場合は、 conda create --name python38 python=3.8 anaconda のような方法で、baseと同じライブラリの入ったconda環境を作ってそこで実験してみるというのも一つの方法ですが、こういうのはcondaの使い方に習熟してからやってください。
tasojiro

2021/06/13 01:45

ppaul様 Anacondaを再インストールしcondaだけでやってみたいと思います。これからライブラリをインストールする場合はcondaで行う様にしていきたいと思います。(condaを習熟するためにも) ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問