Windows10でAnacondaNavigator 1.9.6を使用して新しい仮想環境を作成し、Python 3.7を選択して、python37という名前を付けます。
VSCodeのコンソールで:
(python37) D:\TfsProj\alphastone>pip install numpy
Collecting numpy
Using cached https://files.pythonhosted.org/packages/41/b8/3a6b07352c2542ca1c89be7583e7ca07bf513895b6ac59ae008054f326b1/numpy-1.16.1-cp37-cp37m-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.16.1
(パラメーター--no-cache-dirと同じ)
(python37) D:\TfsProj\alphastone>python
Python 3.7.2 (default, Feb 11 2019, 14:11:50) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
from . import multiarray
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\multiarray.py", line 12, in <module>
from . import overrides
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\overrides.py", line 6, in <module>
from numpy.core._multiarray_umath import (
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import core
File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 47, in <module>
raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
すべてのアドバイス、pipとcondaを介した再インストール、または異なるnumpyバージョン(1.15.4など)では、この問題は解決しませんでした。
numpyがなくなるまで複数のpipアンインストールnumpyを実行してから、conda install numpyを実行すると、numpyのインポートが興味深いことに機能します(1.15.4)。
conda installnumpyは次のことを行います。
The following NEW packages will be INSTALLED:
blas pkgs/main/win-64::blas-1.0-mkl
icc_rt pkgs/main/win-64::icc_rt-2019.0.0-h0cc432a_1
intel-openmp pkgs/main/win-64::intel-openmp-2019.1-144
mkl pkgs/main/win-64::mkl-2019.1-144
mkl_fft pkgs/main/win-64::mkl_fft-1.0.10-py37h14836fe_0
mkl_random pkgs/main/win-64::mkl_random-1.0.2-py37h343c172_0
numpy pkgs/main/win-64::numpy-1.15.4-py37h19fb1c0_0
numpy-base pkgs/main/win-64::numpy-base-1.15.4-py37hc3f5095_0
ピップウェイには何が欠けていますか?
何か案は?
anacondaで提供される追加のサポートライブラリの場所と、 pip install
から取得するstocknumpyで提供されるライブラリの場所には違いがあります。 これには、 PATH
変数の調整が必要です。 おそらく、 PATH
調整がインポート時に失敗しています。 site-packages\numpy\.libs
ディレクトリが存在し、 *.dll
ファイルが含まれていますか?存在する場合、Pythonを実行する前にそのディレクトリをPATH
前に追加してみてください。
rem This fails
python -c "import numpy"
rem Does this succeed ???
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"
そのディレクトリが存在し、パスを変更することが成功すれば、それは内のコードを示している場合、私たちに戻って報告してくださいnumpy\__config__.py
修正するために失敗しているos.environ['PATH']
。 許可されたPATH
長さを超えているか、 PATH
環境変数に他の問題がある可能性があります。
Anacondaは追加のdllを<anaconda install>\Library\bin
に配置し、anaconda環境をアクティブ化すると、そのディレクトリをパスに追加します。 上記のように、Stock numpyは、 PATH
変数の最後に.lib
ディレクトリを追加しようとします。
あなたの方法は確かに機能します!
C:\ Users \ Name.conda \ envs \ test37 \ Lib \ site-packages \ numpy.libsが存在し、その中に1つのファイルがあります。
libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll
約1時間であなたのtheroyを確認するために、より短い初期パスで新規インストールを試みます。
副次的な質問:そのパスにもっと多くのdllがあるべきではありませんか? openblasではなくpytorchでOpenMPとmklを使いたい...
mklを使用する場合は、pipではなくcondaを使用してください
申し訳ありませんが、 pip install numpy
ではなくpip install intel-numpy
使用しますが、 numpy1.15.1が表示されます。 Condaを使用すると簡単になり、anacondaを使用しているように見えるので、おそらくcondaを使用すると、より統一されたエクスペリエンスが得られます。
PATHを短くしましたが、「pipinstallnumpy」ではまだ機能しません。
「condaactivatetest37」の場合、これはPATHの前に追加されます。
PATH = C:\ Users \ Name.conda \ envs \ test37; C:\ Users \ Name.conda \ envs \ test37 \ Library \ mingw-w64 \ bin; C:\ Users \ Name.conda \ envs \ test37 \ Library \ usr \ bin; C:\ Users \ Name.conda \ envs \ test37 \ Library \ bin; C:\ Users \ Name.conda \ envs \ test37 \ Scripts; C:\ Users \ Name.conda \ envs \ test37 \置き場;...
私のPATHはまだ長いですが、他のツールがそのまま必要としているため、PATHから何も削除できなくなりました。
conda numpy 1.16.1がないのはなぜですか?
あなたの助けをありがとう、仲間!
(test37)D:\ test> pip install intel-numpy
Collecting intel-numpy
Could not find a version that satisfies the requirement intel-numpy (from versions: )
No matching distribution found for intel-numpy
「condainstallnumpy」は、正常に動作している1.15.4を提供します。
@mattipどうもありがとうございました
たぶん、静的にリンクして、このパスマングリングの必要性を軽減する必要があります
新しいPythonバージョンのnumpyでのこのPATH編集の問題にも同じ理由がありますか?
https://github.com/pytorch/pytorch/issues/4518#issuecomment-463224849-> https://github.com/pytorch/pytorch/issues/17051
scipyでも同じタイプのエラーが発生しました。 condaを使用してenvを作成した後、問題を引き起こしたすべてのパッケージに対して、pipを使用してアンインストールし、condaを使用してインストールする必要がありました。 これは非常に手動の操作であったため、理想的な解決策ではありませんが、それは私にとってはうまくいきました。
@djdookie :何が機能し、何が機能しなかったかを確認するためだけに。 C:\Users\Name.conda\envs\test37\Lib\site-packages\numpy.libs
dllがあります。 Pythonを起動する前にPATHの前にそれを追加すると機能しました。 それをPATHの最後に( ';'区切り文字を使用して)追加し、pipでインストールされたnumpyが機能するかどうかをテストしてみてください(おそらく、パスを変更する新しいconda環境で)?
編集:新しい環境ではdllへのパスが異なることに注意してください
これは壊れたアナコンダのようです。この問題を参照してくださいContinuumIO / anaconda-issues#10628
閉鎖。 アナコンダはこれを引き起こした問題を修正したようです。
Windows7用のpython3.7用のcondaの最新のWindowsバージョンをダウンロードしたところ、この問題が発生しました。 再開できますか?
私は問題を解決します。 WingIDEを使用していたので、これはパスの問題でした。 これらの手順を使用して修正しました
https://wingware.com/blog/anaconda
具体的には、anacondaコマンドプロンプトを開いて「PATH」を実行し、プロジェクトのウィングパスにコピーしました。
参考までに、私のPATH = C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3; C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ mingw-w64 \ bin; C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ usr \ bin; C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin; C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Scripts ; C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ bin; C:\ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ condabin;
フォルダに移動して削除しました。 それはそれを修正したようです。
これは、Jupyterを起動する前に使用する環境を「condaactivate」しない場合にもJupyterで発生するようです。
また、vs codeを起動する前に環境を「condaactivate」しない場合、VSCodeでも発生します。 「コード」を使うと。 conda環境プロンプトでは、動作します。
これは、Jupyterを起動する前に使用する環境を「condaactivate」しない場合にもJupyterで発生するようです。
これは私のために働いた。 そして、この問題は特にjupyterlabで発生しているようです
Anaconda3をWinPythonに置き換えることで、NumpyDLLの読み込みの問題を解決しました。
WinPaythonでこの問題が発生しました
最も参考になるコメント
anacondaで提供される追加のサポートライブラリの場所と、
pip install
から取得するstocknumpyで提供されるライブラリの場所には違いがあります。 これには、PATH
変数の調整が必要です。 おそらく、PATH
調整がインポート時に失敗しています。site-packages\numpy\.libs
ディレクトリが存在し、*.dll
ファイルが含まれていますか?存在する場合、Pythonを実行する前にそのディレクトリをPATH
前に追加してみてください。そのディレクトリが存在し、パスを変更することが成功すれば、それは内のコードを示している場合、私たちに戻って報告してください
numpy\__config__.py
修正するために失敗しているos.environ['PATH']
。 許可されたPATH
長さを超えているか、PATH
環境変数に他の問題がある可能性があります。Anacondaは追加のdllを
<anaconda install>\Library\bin
に配置し、anaconda環境をアクティブ化すると、そのディレクトリをパスに追加します。 上記のように、Stock numpyは、PATH
変数の最後に.lib
ディレクトリを追加しようとします。