从Windows Shell调用Anaconda Python时导入失败

问题描述 投票:1回答:2

我想从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

python cmd anaconda
2个回答
0
投票

您是否通过pip安装了模块?在Matlab中工作之前,您将需要有秩序的人。

这里是一个很好的页面,可帮助使用python和matlab:

https://www.mathworks.com/matlabcentral/answers/466974-how-to-change-python-path


0
投票

[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运行时库。这几乎总是由以下两种原因之一引起的:

  1. 具有NumPy的环境尚未激活。

  2. 另一软件供应商已安装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。

CLI:https://superuser.com/questions/79612/setting-and-getting-windows-environment-variables-from-the-command-prompt/79614

GUI:http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-windows-gui/

这些值应设置为1以启用它们。例如,在anaconda提示终端:

set CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1

© www.soinside.com 2019 - 2024. All rights reserved.