ImportError:DLL加载失败:动态链接库(DLL)初始化例程失败。 (使用Python运行Spleeter时出错)

时间:2020-04-07 00:40:14

标签: python tensorflow

我正在尝试使用一种名为Spleeter的开源AI来分离和获取歌曲的词干,但是在按照本教程(https://www.youtube.com/watch?v=WmThLASBpMI)中的说明进行操作并验证所有内容安装正确之后,我被打败了。尝试运行拆分过程时,看起来是两个错误的异常实例:

    Traceback (most recent call last):
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\jacob\AppData\Local\Programs\Python\Python36\Scripts\spleeter-script.py", line 11, in <module>
    load_entry_point('spleeter==1.5.0', 'console_scripts', 'spleeter')()
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\spleeter\__main__.py", line 54, in entrypoint
    main(sys.argv)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\spleeter\__main__.py", line 36, in main
    enable_logging()
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\spleeter\utils\logging.py", line 60, in enable_logging
    tf_logger = get_tensorflow_logger()
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\spleeter\utils\logging.py", line 27, in get_tensorflow_logger
    from tensorflow.compat.v1 import logging
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow\__init__.py", line 99, in <module>
    from tensorflow_core import *
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__
    module = self._load()
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow\__init__.py", line 44, in _load
    module = _importlib.import_module(self.__name__)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "c:\users\jacob\appdata\local\programs\python\python36\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

我确实事先尝试过将Anaconda用于Spleeter,但是它没有任何错误,因此我确保在切换到Python之前先卸载并删除与此有关的所有文件,然后再重新安装Spleeter以进行全新安装。可能不相关,但是更多信息永远不会伤害任何人。

我不太了解这种东西,但是如果有已知的修复方法,我想知道。谢谢。

版本:

Python:3.6.2 x64位

点:9.0.1

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,然后想到了一个catch 22解决方案:pip install tensorflow == 2.0

这应该可以解决丢失的dll的问题,但是在安装tensorflow时,我遇到了一个错误,即spleeter需要tensorflow 1.15.2,并且与2.0不兼容。我尝试再次安装1.15.2,但再次遇到相同的dll错误。但这也许值得一试。

您是否尝试过平滑的GUI? 在https://makenweb.com

下载

这对我有用,它下载了一些所需的额外文件。我只是想让命令行版本运行,因为GUI似乎有一些文件问题,它会加载和处理音频文件,但不写输出文件。我尝试用各种wav和mp3设置重写音频文件,但没有成功。