首页 > 解决方案 > OSError: [WinError 193] %1 不是有效的 Win32 应用程序 (LibTiff)

问题描述

我需要libtiff用于一个项目。

完成这些步骤后,当我运行 import libtiff 时,出现以下错误:

OSError                                   Traceback (most recent call last)
<ipython-input-1-3fa0885ae753> in <module>
     20 import os
     21 import pickle
---> 22 from libtiff import TIFF
     23 import libtiff
     24 libtiff.libtiff_ctypes.suppress_warnings()

c:\users\ajain7\appdata\local\programs\python\python36\lib\site-packages\libtiff\__init__.py in <module>
     18 __all__ = ['TIFF', 'TIFF3D', 'TIFFfile', 'TiffArray', 'TiffFile', 'TiffFiles', 'TiffChannelsAndFiles', 'TiffBase']
     19 
---> 20 from .libtiff_ctypes import libtiff, TIFF, TIFF3D
     21 from .tiff import TIFFfile, TIFFimage, TiffArray
     22 from .tiff_file import TiffFile

c:\users\ajain7\appdata\local\programs\python\python36\lib\site-packages\libtiff\libtiff_ctypes.py in <module>
     48                       'PATH|LD_LIBRARY_PATH|..')
     49 
---> 50 libtiff = ctypes.cdll.LoadLibrary(lib)
     51 
     52 libtiff.TIFFGetVersion.restype = ctypes.c_char_p

c:\users\ajain7\appdata\local\programs\python\python36\lib\ctypes\__init__.py in LoadLibrary(self, name)
    424 
    425     def LoadLibrary(self, name):
--> 426         return self._dlltype(name)
    427 
    428 cdll = LibraryLoader(CDLL)

c:\users\ajain7\appdata\local\programs\python\python36\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    346 
    347         if handle is None:
--> 348             self._handle = _dlopen(self._name, mode)
    349         else:
    350             self._handle = handle

OSError: [WinError 193] %1 is not a valid Win32 application

标签: pythonpython-3.xlibtiff

解决方案


可能还发生了另一件事。VS 代码自动从预定义的操作系统位置搜索 numpy 和其他包。您可能正在使用 32 位版本的 numpy 而不是 64 位版本。libtiff要解决此问题,请通过键入从所有位置卸载pip uninstall libtiff


推荐阅读