进口;rtmidi_python“;模块给出;ImportError:DLL加载失败:找不到指定的模块;

进口;rtmidi_python“;模块给出;ImportError:DLL加载失败:找不到指定的模块;,python,windows,dll,pip,importerror,Python,Windows,Dll,Pip,Importerror,我在尝试导入rtmidi python时遇到了一个问题(由于缺乏信誉而删除了指向包索引页的链接): win32上的Python 3.5.1(v3.5.1:37A07CEE59692015年12月6日01:38:48)[MSC v.1900 32位(英特尔)] 有关详细信息,请键入“copyright”、“credits”或“license()”。 >>>导入rtmidi_python 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 导入rtmidi_python 导入错误:DLL加载失败:

我在尝试导入rtmidi python时遇到了一个问题(由于缺乏信誉而删除了指向包索引页的链接):

win32上的Python 3.5.1(v3.5.1:37A07CEE59692015年12月6日01:38:48)[MSC v.1900 32位(英特尔)] 有关详细信息,请键入“copyright”、“credits”或“license()”。 >>>导入rtmidi_python 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 导入rtmidi_python 导入错误:DLL加载失败:Das angegebene module wurde nicht gefunden。 “Das angegebene module wurde nicht gefunden”翻译为“找不到指定的模块”

这些包是从上找到的.whl文件安装的,以避免需要一个运行的C/C++编译器(据我所知),因为通过pip从索引安装包总是会给我“vcvarsall.bat”错误。 (我曾尝试以各种方式修复一些问题,但没有成功,但详细说明这一点不在本线程的主题范围内。)

因此,我求助于使用.whl文件。 由于我使用Windows 7 32位,并且安装了Python 3.5.1 32位,因此我使用“rtmidi_Python-0.2.2-cp35-none-win32.whl”进行了pip安装。这似乎奏效了,软件包显然已经安装好了。但是当尝试导入rtmidi_python时,我总是会给出上面的错误

  • 我试过从方向盘上重新安装软件包好几次,都没有用。每次都会出现同样的错误

  • 我曾尝试通过pip升级包,但它是最新的

  • 因为根据我在这个网站和其他地方的发现,输入恐怖不是一个普遍的错误,而是在每一个例子中都有一个具体和不同的原因;我已尝试跟踪可能丢失的特定.dll文件。由于通过.whl安装rtmidi python只会将其放在“..\site packages\”通常的“..dist info”文件夹(如“rtmidi_python-0.2.2.dist info”)和一个名为“rtmidi_python.cp35-win32.pyd”的.pyd文件中,我认为后者是问题的原因。经过一段时间的搜索,我发现这样一个文件可以使用Dependency Walker进行检查。下面是出现的情况:

“Das System kann die angegebene Datei nicht finden.”字面意思是“系统找不到指定的文件。” 起初,我假设MSVCP140.DLL引用了一个将使用Visual Studio 2015或其他类似工具安装的文件,而不考虑其他文件,我没有安装该文件。但在浏览器搜索后,MSVCP140.DLL在“…\system32\”中被发现为“MSVCP140.DLL”

这是否意味着错误源于rtmidi_python没有为这些文件提供正确的路径?或者我在试图修复“vcvarsall.bat”错误时,错误地安装了一些与C/C++编译器相关的文件? 或者问题可能在于.whl本身?我在一些记录类似进口的页面上读到,它可能源于车轮文件创建者的错误编译

不管怎样,我已经到了一个完全不知所措的地步,除了在这里寻求帮助之外,我别无选择。更重要的是,就像我自己的情况一样,这个软件包对于希望从中受益的非程序员来说可能非常有用,我认为让它更容易访问和使用是件好事


若我无意中遗漏了解决问题所必需的任何信息,我将根据需要提供这些信息。

安装32位(x86)版本的This确实解决了问题!但是为了阐明它的一个重要方面:在安装RTMIDyPython作为.WL之前,需要安装VisualStudio 2015的VisualC++。因此,即使两者都安装了,但在安装rtmidi python之后安装了可再发行版本,它也不会工作。我不能确定,因为我尝试了很多事情,但如果做了相反的事情,即使只是重新安装rtmidi python也可能不起作用。在我的例子中,我需要卸载这两者,然后重新安装可再发行文件;最后,重新安装rtmidi python。
    Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import rtmidi_python
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import rtmidi_python
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.