Openslide-python import error(Openslide-Python导入错误)
问题描述
从python终端内部运行import openslide
时收到以下错误
<code>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:dev_respythonpython2_713libsite-packagesopenslide\__init__.py", line 29, in <module>
from openslide import lowlevel
File "C:dev_respythonpython2_713libsite-packagesopenslidelowlevel.py", line 41, in <module>
_lib = cdll.LoadLibrary('libopenslide-0.dll')
File "C:dev_respythonpython2_713libctypes\__init__.py", line 440, in LoadLibrary
return self._dlltype(name)
File "C:dev_respythonpython2_713libctypes\__init__.py", line 362, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 127] The specified procedure could not be found
</code>
我的操作系统是64位Windows,我使用的是Python2.7.13(64位)。我安装了OpenSlide二进制文件(2016-7-17 64位版本),并将相应的bin文件夹添加到我的系统路径中。然后我使用pip安装了python-openslide。请注意,此错误与WindowsError: [Error 126] The specified module could not be found
(see question)不同,WindowsError: [Error 126] The specified module could not be found
(see question)是在Windows二进制文件尚未添加到系统路径时发生的。
使用Python3.5.3时也会出现同样的问题。有趣的是,我尝试了相同的工作流程,但使用的是32位版本(python2.732位和32位openslide二进制文件),我没有收到这个错误。但是,我更喜欢使用64位版本。
任何帮助都将不胜感激。谢谢!
推荐答案
在GitHub上收到openslide-python作者的帮助后,我能够获得有效的解决方案。
问题是您的搜索路径中有多个DLL与openslide所需的名称相同。例如,在我的例子中,zlib1.dll不仅位于openslidein目录中,还位于matlab目录、gihub目录和Intel wifi目录中。当Python请求操作系统查找所需的DLL时,操作系统将返回它遇到的第一个名称匹配实例,该实例可能不是openslidein实例。 一种快速的解决方法是从openslidein目录内部启动Python。换句话说,启动命令提示符,导航到openslidein目录,输入"python",现在输入import openslide
应该可以正常工作。这是可行的,因为首先会搜索启动Python的目录以查找匹配的DLL。一个更严格的解决方案是将以下内容添加到lowLev.py文件(可以在您的python安装的Libsite-Packagesopenslide目录中找到)的开头,这样就不必每次从openslidein内部启动终端
os.environ['PATH'] = "path-to-openslide-bin" + ";" + os.environ['PATH']
注意:将openslide-bin的路径替换为正确的路径
每次您键入import openslide
时,都会运行lowLev.py,它会尝试加载相应的DLL。上面的代码行将DLL的位置添加到环境路径的开头,以确保此文件夹位于搜索层次结构的顶部,因此将在其他名称匹配实例之前找到。
您可以在GitHub上查看相应的问题/用户报告here
这篇关于Openslide-Python导入错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Openslide-Python导入错误
基础教程推荐
- Python 的 List 是如何实现的? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01