解决Python调试OSError: [WinError 193] %1 不是有效的 Win32 应用程序


Python调试出现OSError: [WinError 193] %1 不是有效的 Win32 应用程序,一般来讲是因为python位数和dll位数不一样导致的,dll是32位的,而python是64位的。

我的系统是64位Win7安装了64位的python,当调用32位dll(比如32位的ODBC驱动)的时候,就报错。

如何解决:

1、安装64位的dll(一般很难找到)

2、安装32位的python

用anaconda保证64位和32位的python共存

我已经安装了64位的python,通过anaconda再安装一个32位的python即可解决调用32位dll的问题

Anaconda的一些命令
1.查看当前工作平台:conda info

(base) C:\Users\Catlin Cao>conda info
 
     active environment : base
    active env location : F:\Anaconda3
            shell level : 1
       user config file : C:\Users\Catlin Cao\.condarc
 populated config files : C:\Users\Catlin Cao\.condarc
          conda version : 4.5.11
    conda-build version : 3.15.1
         python version : 3.7.0.final.0
       base environment : F:\Anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-32
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-32
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-32
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/pro/win-32
                          https://repo.anaconda.com/pkgs/pro/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-32
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : F:\Anaconda3\pkgs32
                          C:\Users\Catlin Cao\AppData\Local\conda\conda\pkgs32
       envs directories : F:\Anaconda3\envs
                          C:\Users\Catlin Cao\AppData\Local\conda\conda\envs
                          C:\Users\Catlin Cao\.conda\envs
               platform : win-32
             user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.17134
          administrator : False
             netrc file : None
           offline mode : False
可见此时是32位平台。

2.切换64位和32位:set CONDA_FORCE_32BIT=1是切换到32位;set CONDA_FORCE_32BIT= 是切换到64位。

需要注意的是,这样切换环境对于已经安装的python没有任何影响,即原先是64位的python,现在还是64位,所以需要切换到32位后再安装python,并且安装需要在prompt下进行,在navigator里新建的python默认是64位的。

3.安装python:conda create -n env_name python=3.6,如果需要安装一些包,只需要在name后加上对应的包名称。conda create -n env_name numpy matplotlib python=3.6。

注意:安装32位python必须切换到32位的时候安装,安装64位python必须在64位上安装

4.切换环境:conda activate env_name,conda deactivate env_name。

5.移除环境:conda remove -n env_name --all

6.安装包:activate env_name,conda install pandas。安装anaconda发行版的所有包:conda install anaconda,但是这样会在所有环境都执行这样的操作,所以需要指定安装环境:conda install -n env_name pandas或conda install -n env_name anaconda
以上的操作都是在Anaconda Prompt里,其实用Anaconda图形界面(Navigator)安装python会更加直观,但是需要注意的是,无论你是否在Prompt里设置了32位的环境,用Navigator安装的python都是64位的,大家可以试一下,有异议欢迎留言交流。


 

  • 24
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
### 回答1: 这个错误提示是因为你尝试运行一个不是有效Win32 应用程序。可能是因为你的操作系统不支持该应用程序或者该应用程序已经损坏。你可以尝试重新下载或者安装该应用程序,或者检查你的操作系统是否符合该应用程序的要求。 ### 回答2: 这个错误可能意味着您的操作系统在尝试运行某个程序时,发现该程序不是一个有效Win32应用程序Win32是一种Microsoft Windows操作系统使用的编程接口,许多应用程序都是按照这个接口设计的。 如果您遇到这个错误,有几个可能的原因如下: 1.应用程序已经损坏或不完整:这可能是由于下载或安装过程中出现的问题所导致的。这种情况下,您应该尝试重新下载或安装应用程序以修复问题。 2.应用程序不与操作系统兼容:有时候,应用程序不与您的操作系统兼容,这可能是因为应用程序被设计为在较旧的Windows版本上运行,并且不支持最新的操作系统。这种情况下,您可能需要使用另一个程序或升级您的操作系统来解决问题。 3.杀毒软件、防火墙或其他安全软件的阻止:许多杀毒软件、防火墙和其他安全软件可能会阻止某些应用程序,这是为了保护您的计算机免受恶意软件的攻击。如果您认为这是造成问题的原因,您应该尝试禁用相关软件并重新运行程序。 4.系统文件已经损坏:在某些情况下,您的操作系统中的关键文件可能会损坏或丢失,这可能导致应用程序无法运行。这时,您可以尝试使用系统还原或重新安装操作系统来解决问题。 总之,要解决oserror: [winerror 193] %1 不是有效win32 应用程序” 的问题,你需要了解具体的原因,并针对性地采取相应的解决方案。如果没有经验,可以向专业的计算机技术支持人员咨询和求助。 ### 回答3: 错误信息:“oserror: [winerror 193] %1 不是有效win32 应用程序。”代表了在Windows操作系统中出现的一个错误。这个错误涉及到一个应用程序,它并不是一个有效Win32应用程序Win32Windows操作系统运行的程序的一系列标准,它指定了一些API(应用程序接口),这些API用于与操作系统交互。在Windows操作系统中,每个程序都应该符合这些标准,以确保它能够正确运行。 当出现这个错误时,很可能是由于某个程序不符合Win32标准导致的。这个程序可能是你尝试运行应用程序,也可能是与该应用程序相关的某个库文件。 解决这个错误通常需要进行一些调查。首先,你可以确定一下是否已经安装了该程序的最新版本,因为程序版本落后可能导致与Win32标准不兼容。如果是执行文件不符合Win32标准,那么你可能需要重新下载或安装该程序。此外,如果该程序需要依赖某个库文件,那么你需要检查这个库文件是否存在、安装是否正确或版本是否适合该应用程序。 另一个可能的原因是,如果你在运行某个脚本或命令时,它在调用其他应用程序时出现了该错误,那么该应用程序可能是在64位操作系统上运行的32位应用程序。在这种情况下,你可以尝试使用32位版本的该应用程序或者在64位操作系统上使用64位版本的该应用程序。 总之,oserror: [winerror 193] %1 不是有效win32 应用程序可能是由于某个应用程序或库文件不符合Win32标准导致。解决这个问题需要对你的系统、程序、库文件进行彻底的检查和调查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值