【问题标题】:Keep getting error "OSError: [WinError 193] %1 is not a valid Win32 application"不断收到错误“OSError:[WinError 193] %1 不是有效的 Win32 应用程序”
【发布时间】:2019-12-21 14:44:19
【问题描述】:

我正在尝试按照以下视频中的说明为 StyleGan 项目创建自定义数据集:https://youtube.com/watch?v=QBUFrep8ljI

但是当我运行命令构建数据集时

python dataset_tool.py create_from_images datasets/custom_dataset ./chrimg

我收到以下错误:

File "dataset_tool.py", line 18, in <module>
import numpy as np
  File "F:\Program Files\Python3\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
   File "F:\Program Files\Python3\lib\site-packages\numpy\_distributor_init.py", line 26, in <module>
WinDLL(os.path.abspath(filename))
  File "F:\Program Files\Python3\lib\ctypes\__init__.py", line 364, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application

每一步我都会遇到一些新错误,我已经设法解决了这些错误,但我对此一无所知。

【问题讨论】:

    标签: python-3.x deep-learning generative-adversarial-network


    【解决方案1】:

    此错误表示文件的 EXE 格式错误。在 Windows 操作系统中文件(例如 exe、dll、sys)具有 PE​​ 格式 - https://docs.microsoft.com/en-us/windows/win32/debug/pe-format 在您的情况下,Python 代码尝试在这行代码中加载 DLL:

    self._handle = _dlopen(self._name, mode)
    

    我认为 _dlopen 在内部使用来自 Windows API 的 LoadLibrary 会产生此错误,可能的原因如下:

    1. Lo​​adLibrary 试图加载的 dll 文件已损坏
    2. dll 文件和 phython 有不同的架构(例如你 python是x86,dll是x64)。您可以使用procmon 实用程序找出游戏中的确切文件。此外,您可以使用sigcheck 来确定架构或此方法 - https://superuser.com/questions/358434/how-to-check-if-a-binary-is-32-or-64-bit-on-windows

    【讨论】:

    • 那么它会是我的python版本吗?
    猜你喜欢
    • 2020-02-19
    • 2014-10-28
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多