import torch中DLL load failed while importing _multiarray_umath: 找不到指定的模块,一步解决。

网上找了好多方法,大部分是换conda 环境,版本,激活,光激活试了好久,最终还是没有激活。(2)更换numpy的版本,python版本,方法都不行 。

最后找到一个方法,可能说是导入包模块时候路径的问题。

解决办法,将“D:\anaconda3\envs\xxxx\Library\bin”添加到环境变量中。(把对应环境下的Library\bin添加到环境变量中)

import torch中DLL load failed while importing _multiarray_umath: 找不到指定的模块,一步解决。_第1张图片

import torch中DLL load failed while importing _multiarray_umath: 找不到指定的模块,一步解决。_第2张图片

 环境变量设置好了,重新执行一遍就ok了。

import torch中DLL load failed while importing _multiarray_umath: 找不到指定的模块,一步解决。_第3张图片

 

另外建议先试一下conda uninstall / pip uninstall numpy

也有可能是重复安装了numpy包导致的,或者在版本不是很敏感的情况下没准更新一次就解决了问题。(尽量不要混用pip和conda)

参考:

 Troubleshooting ImportError — NumPy v1.23.dev0 Manual

Eclipse and PyDev — Anaconda documentation

Using Python Environments in Visual Studio Code

Configure a Conda virtual environment | PyCharm

Managing environments — conda dev documentation

解决:

解决numpy:DLL load failed while importing _multiarray_umath: 找不到指定的模块。 - 猫猫子 - 博客园

2、第二个问题,jupyter中输入import torch,报错NameError: name ‘_C‘ is not defined,

这个问题也卡了很久,网上有安装VC++,也是版本不对齐什么,最后发现一步就解决。也不知道是不是碰上了,还是什么问题,目前反正是解决问题了。

import torch中DLL load failed while importing _multiarray_umath: 找不到指定的模块,一步解决。_第4张图片

NameError                                 Traceback (most recent call last)
Input In [3], in ()
----> 1 import torch

File D:\Users\lilin\miniconda3\lib\site-packages\torch\__init__.py:231, in 
    216         raise ImportError(textwrap.dedent('''
    217             Failed to load PyTorch C extensions:
    218                 It appears that PyTorch has loaded the `torch/_C` folder
   (...)
    226                 or by running Python from a different directory.
    227             ''').strip()) from None
    228     raise  # If __file__ is not None the cause is unknown, so just re-raise.
--> 231 __all__ += [name for name in dir(_C)
    232             if name[0] != '_' and
    233             not name.endswith('Base')]
    235 if not TYPE_CHECKING:
    236     # issue 38137 and python issue 43367. Submodules of a C extension are
    237     # non-standard, and attributes of those submodules cannot be pickled since
    238     # pickle expect to be able to import them as "from _C.sub import attr"
    239     # which fails with "_C is not a package
    240     for attr in dir(_C):

NameError: name '_C' is not defined

解决办法:cmd输入

pip install Cython

 

你可能感兴趣的:(ML&DL,深度学习,机器学习)