Help us understand the problem. What is going on with this article?

Anaconda v5.3 Python3.7 verの導入に手こずったのでメモ

More than 1 year has passed since last update.

追記 (2019/07/25)

新しいバージョンのAnacondaでは,正式にPowershellに対応したとのことです.
より詳しく知りたい方はこちらの記事で確認してください.詳しく解説されています.
・ 参考リンク
Anaconda がやっと PowerShell に公式対応した

普通にインストールして,スタートメニューのAnaconda3 (64-bit)>Anaconda Powershell Promptでconda環境がPowershell上で起動します.
そして,以下のコマンドを叩く

> conda init powershell

すると,通常のPowershell上でもconda環境が使えるようになります.(Powershell起動時,conda環境が起動するようにスクリプトが生成される)

ただし,conda環境を起動する前にpythonコマンドを叩いてしまうと,numpyをimportできないみたいです.
先にconda環境を起動してからpythonコマンドを叩きましょう.

前提

普通にAnacondaをインストールして下記のようにpathを通した

C:\Users\hoge\Anaconda3
C:\Users\hoge\Anaconda3\Scripts

発生した問題

Anaconda Prompt上ではnumpyをimportできるのに
PowerShell上ではimportできない問題
(PowerShellを使う理由は特にないけど,なんとなく使ってみたかった)

[環境]
OS : Windows10_1803
Anaconda v5.3 python3.7

Traceback

PS C:\Users\hoge> python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda custom (64-bit) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "C:\Users\hoge\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\hoge\Anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Users\hoge\Anaconda3\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Users\hoge\Anaconda3\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Users\hoge\Anaconda3\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Users\hoge\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: DLL load failed: 指定されたモジュールが見つかりません。

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

調べてみるとmklっていうdllが見つからないらしい.
Anaconda Prompt上ではdllは見つかるので単純にPathが通ってないってことになる.

dllの場所を調べた.

C:\Users\hoge\Anaconda3\Library\bin

ここにmklのdllがあった

解決

さっきのPathを環境変数に追加
結果,importできた.

最後に

以前のバージョンのAnacondaでインストールしたPython3.6環境では,今回のような問題は発生しなかったから,何かしらの原因があるんだろうけどよくわからなかった.
結果として問題なくimportできてるから,深くは考えないことにする.

HashiY
扱ったことのある言語 ・C ・Python3 常に新しい情報はキャッチするように心がけています.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away