首页 > 解决方案 > 导入pims python 3.7时出现OSError

问题描述

我第一次导入 pim 时出现此消息

import pims


OSError                                   Traceback (most recent call last)
<ipython-input-1-c035db68c7c1> in <module>
----> 1 import pims

~\Anaconda3\lib\site-packages\pims\__init__.py in <module>
----> 1 from pims.api import *
      2 
      3 from ._version import get_versions
      4 __version__ = get_versions()['version']
      5 del get_versions

~\Anaconda3\lib\site-packages\pims\api.py in <module>
    110 
    111 try:
--> 112     from pims_nd2 import ND2_Reader
    113 except ImportError:
    114     ND2_Reader = not_available("pims_nd2")

~\Anaconda3\lib\site-packages\pims_nd2\__init__.py in <module>
----> 1 from .nd2reader import ND2_Reader

~\Anaconda3\lib\site-packages\pims_nd2\nd2reader.py in <module>
      6 from pims.base_frames import FramesSequenceND
      7 import os
----> 8 from . import ND2SDK as h
      9 from ctypes import c_uint8, c_uint16, c_float
     10 

~\Anaconda3\lib\site-packages\pims_nd2\ND2SDK.py in <module>
     21        raise OSError("The bitsize does not equal 32 or 64.")
     22     os.environ["PATH"] += os.pathsep + os.path.join(dlldir)
---> 23     nd2 = cdll.LoadLibrary('v6_w32_nd2ReadSDK.dll')
     24 
     25 

~\Anaconda3\lib\ctypes\__init__.py in LoadLibrary(self, name)
    440 
    441     def LoadLibrary(self, name):
--> 442         return self._dlltype(name)
    443 
    444 cdll = LibraryLoader(CDLL)

~\Anaconda3\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    362 
    363         if handle is None:
--> 364             self._handle = _dlopen(self._name, mode)
    365         else:
    366             self._handle = handle

OSError: [WinError 14001] No se pudo iniciar la aplicación; la configuración en paralelo no es correcta. Consulte el registro de eventos de la aplicación o use la herramienta sxstrace.exe de la línea de comandos para obtener más detalles

然后,当我尝试再次导入时,会出现此其他错误消息

import pims

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-c035db68c7c1> in <module>
----> 1 import pims

~\Anaconda3\lib\site-packages\pims\__init__.py in <module>
----> 1 from pims.api import *
      2 
      3 from ._version import get_versions
      4 __version__ = get_versions()['version']
      5 del get_versions

~\Anaconda3\lib\site-packages\pims\api.py in <module>
     34 try:
     35     import pims.pyav_reader
---> 36     if pims.pyav_reader.available():
     37         PyAVReaderTimed = pims.pyav_reader.PyAVReaderTimed
     38         PyAVReaderIndexed = pims.pyav_reader.PyAVReaderIndexed

AttributeError: module 'pims' has no attribute 'pyav_reader'

Windows 事件管理器显示此错误

在“C:\Users\user\Anaconda3\lib\site-packages\pims_nd2\ND2SDK\win\x64\v6_gnr_picture.dll”的一般上下文激活错误。不依赖于 Microsoft.VC90.OpenMP,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"。使用 sxstrace.exe para obtener un diagnóstico detallado。

编辑:英文错误和回溯,取自这里

OSError Traceback (most recent call last)
in
----> 1 import pims

~\AppData\Local\conda\conda\envs\pyPIMS\Lib\site-packages\pims_init_.py
in
----> 1 from pims.api import *
2
3 from ._version import get_versions
4 version = get_versions()[‘version’]
5 del get_versions

~\AppData\Local\conda\conda\envs\pyPIMS\Lib\site-packages\pims\api.py
in
110
111 try:
–&gt; 112 from pims_nd2 import ND2_Reader
113 except ImportError:
114 ND2_Reader = not_available(“pims_nd2”)

~\AppData\Local\conda\conda\envs\pyPIMS\Lib\site-packages\pims_nd2_init_.py
in
----> 1 from .nd2reader import ND2_Reader

~\AppData\Local\conda\conda\envs\pyPIMS\Lib\site-packages\pims_nd2\nd2reader.py
in
6 from pims.base_frames import FramesSequenceND
7 import os
----> 8 from . import ND2SDK as h
9 from ctypes import c_uint8, c_uint16, c_float
10

~\AppData\Local\conda\conda\envs\pyPIMS\Lib\site-packages\pims_nd2\ND2SDK.py
in
21 raise OSError(“The bitsize does not equal 32 or 64.”)
22 os.environ[“PATH”] += os.pathsep + os.path.join(dlldir)
—&gt; 23 nd2 = cdll.LoadLibrary(‘v6_w32_nd2ReadSDK.dll’)
24
25

C:\ProgramData\Anaconda3\lib\ctypes_init_.py in LoadLibrary(self, name)
432
433 def LoadLibrary(self, name):
–&gt; 434 return self._dlltype(name)
435
436 cdll = LibraryLoader(CDLL)

C:\ProgramData\Anaconda3\lib\ctypes_init_.py in init(self, name, mode, handle, use_errno, use_last_error)
354
355 if handle is None:
–&gt; 356 self._handle = _dlopen(self._name, mode)
357 else:
358 self._handle = handle

OSError: [WinError 14001] The application has failed to start because its side-by-side configuration is incorrect. Please see the
application event log or use the command-line sxstrace.exe tool for
more detail

我正在添加 sxstrace.exe 报告(我猜我已经提取了报告中包含错误的部分)

=================
Iniciar generación de contexto de activación.
Parámetro de entrada:
    Flags = 0
    ProcessorArchitecture = AMD64
    CultureFallBacks = es-MX;es;es-ES;en-US;en
    ManifestPath = C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\v6_gnr_system.dll
    AssemblyDirectory = C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\
    Application Config File = 
-----------------
INFORMACIÓN: analizando archivo de manifiesto C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\v6_gnr_system.dll.
    INFORMACIÓN: la identidad de definición del manifiesto es (null).
    INFORMACIÓN: referencia: Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
    INFORMACIÓN: referencia: Microsoft.VC90.OpenMP,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
INFORMACIÓN: resolviendo referencia Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
    INFORMACIÓN: resolviendo referencia de ProcessorArchitecture amd64.
        INFORMACIÓN: resolviendo referencia cultural Neutral.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: buscar directiva de edición en C:\WINDOWS\WinSxS\manifests\amd64_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9619_none_accdd623e1ddaffe.manifest
                INFORMACIÓN: versión de ensamblado redirigida por directiva de edición.
                INFORMACIÓN: la identidad de la directiva de publicación es Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.9619".
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\WinSxS\manifests\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9619_none_08e065a3a84109b0.manifest.
                INFORMACIÓN: manifiesto encontrado en C:\WINDOWS\WinSxS\manifests\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9619_none_08e065a3a84109b0.manifest.
            INFORMACIÓN: finalizar sondeo de ensamblado.
INFORMACIÓN: resolviendo referencia Microsoft.VC90.CRT.mui,language="&#x2a;",processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.9619".
    INFORMACIÓN: resolviendo referencia de ProcessorArchitecture amd64.
        INFORMACIÓN: resolviendo referencia cultural es-MX.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: no se encuentra la directiva de edición.
                INFORMACIÓN: no se encuentra el redirección de la directiva de enlace.
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: no se encontró el ensamblado en WinSxS.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\assembly\GAC_64\Microsoft.VC90.CRT.mui\9.0.30729.9619_es-MX_1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.mui.DLL.
                INFORMACIÓN: no se encontró el manifiesto de la referencia cultural es-MX.
            INFORMACIÓN: finalizar sondeo de ensamblado.
        INFORMACIÓN: resolviendo referencia cultural es.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: no se encuentra la directiva de edición.
                INFORMACIÓN: no se encuentra el redirección de la directiva de enlace.
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: no se encontró el ensamblado en WinSxS.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\assembly\GAC_64\Microsoft.VC90.CRT.mui\9.0.30729.9619_es_1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.mui.DLL.
                INFORMACIÓN: no se encontró el manifiesto de la referencia cultural es.
            INFORMACIÓN: finalizar sondeo de ensamblado.
        INFORMACIÓN: resolviendo referencia cultural es-ES.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: no se encuentra la directiva de edición.
                INFORMACIÓN: no se encuentra el redirección de la directiva de enlace.
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: no se encontró el ensamblado en WinSxS.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\assembly\GAC_64\Microsoft.VC90.CRT.mui\9.0.30729.9619_es-ES_1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.mui.DLL.
                INFORMACIÓN: no se encontró el manifiesto de la referencia cultural es-ES.
            INFORMACIÓN: finalizar sondeo de ensamblado.
        INFORMACIÓN: resolviendo referencia cultural en-US.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: no se encuentra la directiva de edición.
                INFORMACIÓN: no se encuentra el redirección de la directiva de enlace.
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: no se encontró el ensamblado en WinSxS.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\assembly\GAC_64\Microsoft.VC90.CRT.mui\9.0.30729.9619_en-US_1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.mui.DLL.
                INFORMACIÓN: no se encontró el manifiesto de la referencia cultural en-US.
            INFORMACIÓN: finalizar sondeo de ensamblado.
        INFORMACIÓN: resolviendo referencia cultural en.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: no se encuentra la directiva de edición.
                INFORMACIÓN: no se encuentra el redirección de la directiva de enlace.
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: no se encontró el ensamblado en WinSxS.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\assembly\GAC_64\Microsoft.VC90.CRT.mui\9.0.30729.9619_en_1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.mui.DLL.
                INFORMACIÓN: no se encontró el manifiesto de la referencia cultural en.
            INFORMACIÓN: finalizar sondeo de ensamblado.
INFORMACIÓN: resolviendo referencia Microsoft.VC90.OpenMP,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
    INFORMACIÓN: resolviendo referencia de ProcessorArchitecture amd64.
        INFORMACIÓN: resolviendo referencia cultural Neutral.
            INFORMACIÓN: aplicando directiva de enlace.
                INFORMACIÓN: no se encuentra la directiva de edición.
                INFORMACIÓN: no se encuentra el redirección de la directiva de enlace.
            INFORMACIÓN: iniciar sondeo de ensamblado.
                INFORMACIÓN: no se encontró el ensamblado en WinSxS.
                INFORMACIÓN: intento de sondear manifiesto en C:\WINDOWS\assembly\GAC_64\Microsoft.VC90.OpenMP\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.OpenMP.DLL.
                INFORMACIÓN: intento de sondear manifiesto en C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\Microsoft.VC90.OpenMP.DLL.
                INFORMACIÓN: intento de sondear manifiesto en C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\Microsoft.VC90.OpenMP.MANIFEST.
                INFORMACIÓN: intento de sondear manifiesto en C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\Microsoft.VC90.OpenMP\Microsoft.VC90.OpenMP.DLL.
                INFORMACIÓN: intento de sondear manifiesto en C:\Users\user\Anaconda3\envs\spyder4\lib\site-packages\pims_nd2\ND2SDK\win\x64\Microsoft.VC90.OpenMP\Microsoft.VC90.OpenMP.MANIFEST.
                INFORMACIÓN: no se encontró el manifiesto de la referencia cultural Neutral.
            INFORMACIÓN: finalizar sondeo de ensamblado.
    ERROR: no se puede resolver la referencia Microsoft.VC90.OpenMP,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
ERROR: error de generación de contexto de activación.
Finalizar generación de contexto de activación.

标签: pythonwindowsimage-processingdll

解决方案


我已经解决了这个问题。它似乎是缺少 Visual C++ 2008 文件。我已经从https://www.microsoft.com/es-ES/download/details.aspx?id=26368安装了“Actualización de seguridad de MFC para Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package” 我已经下载并安装了这两个文件:“vcredist_x86.exe”和“vcredist_x64.exe”之后,pims 和 pims_nd2 工作正常。


推荐阅读