我想从Windows shell调用Anaconda Python。目标是最终使用系统调用从MATLAB进行调用,因此我必须使用普通的Windows Shell,而不是“ Anaconda提示”。
我有一个想要运行的简单Python脚本,但它不会超出import语句:
> "C:\ProgramData\Anaconda3\python.exe" lhs.py
Traceback (most recent call last):
File "lhs.py", line 8, in <module>
import numpy
File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: The specified module could not be found.
编辑
我制作了一个简化的Python脚本(error.py
),仅包含一行:
import numpy
然后我将其称为:
"C:\ProgramData\Anaconda3\python.exe" error.py
您是否通过pip安装了模块?在Matlab中工作之前,您将需要有秩序的人。
这里是一个很好的页面,可帮助使用python和matlab:
https://www.mathworks.com/matlabcentral/answers/466974-how-to-change-python-path
[github上有一个similar issue报告。我是通过搜索邮件的最后几行找到的。关于这个的:
File "C:\Users\hanna\Anaconda3\lib\site-packages\tensorflow\python_init.py",
第47行,在将numpy导入为np在第140行中输入文件“ C:\ Users \ hanna \ Anaconda3 \ lib \ site-packages \ numpy_init_.py”来自。导入_distributor_init文件“ C:\ Users \ hanna \ Anaconda3 \ lib \ site-packages \ numpy_distributor_init.py”,第34行,在来自。导入_mklinit
[它们在那里链接到conda troubleshooting page:错误消息,如
Intel MKL致命错误:无法加载mkl_intel_thread.dll
原因NumPy无法加载正确的MKL或Intel OpenMP运行时库。这几乎总是由以下两种原因之一引起的:
具有NumPy的环境尚未激活。
另一软件供应商已安装MKL或Intel OpenMP(libiomp5md.dll)文件放入C:\ Windows \ System32文件夹。这些文件在Anaconda之前加载,并且不兼容。
如果您不激活环境,请先这样做。
如果问题是第二,您可以选择在system32
之前加载conda东西。从以下版本开始的anaconda支持此功能:
Python 2.7.15内部版本14
Python 3.6.8 build 7
Python 3.7.2 build 8
要激活它,您需要将一些环境变量设置为1:
控制环境变量:
CONDA_DLL_SEARCH_MODIFICATION_ENABLE CONDA_DLL_SEARCH_MODIFICATION_DEBUG CONDA_DLL_SEARCH_MODIFICATION_NEVER_ADD_WINDOWS_DIRECTORY CONDA_DLL_SEARCH_MODIFICATION_NEVER_ADD_CWD
要在Windows上设置变量,您可以使用CLI(Anaconda例如,提示)或Windows GUI。
GUI:http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-windows-gui/
这些值应设置为1以启用它们。例如,在anaconda提示终端:
set CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1