py2exe_util.pyd为无效的windows映像 解放办法

本文介绍了在使用py2exe工具进行Python程序打包时遇到的一个常见错误——“py2exe_util.pyd为无效的Windows映像”。通过检查系统类型并确保py2exe版本与系统位数相匹配来解决问题。
 

今天要给一个python25的程序进行发布,结果报错了:

py2exe_util.pyd为无效的windows映像。 请检查安装盘

百度了一下,获得了提示,我装的是64位的py2exe,而我的系统是32位的

查询方法为:cmd->systmeinfo,找到系统类型:若为X86-based PC,就说明该系统是32位的

重新下载了一下32位的,安装之后再进行发布,打包成功!

 

注:

32位py2exe安装程序下载地址:http://sourceforge.net/projects/sevenzip/files/latest/download?source=recommended

 

64位py2exe安装程序下载地址:http://prdownloads.sourceforge.net/py2exe

我有一个python封装成的exe文件,我想从源文件看看它是怎么实现的。帮我看一下这个文件目录,我应该从何下手: E:. │ ble.py │ ble.spec │ BleakUWPBridge.dll │ bt_ctrl.py │ bt_ctrl.spec │ test_ble.py │ test_ble.spec │ 蓝牙控制程序说明.docx │ ├─.idea │ │ .gitignore │ │ bluetooth.iml │ │ misc.xml │ │ modules.xml │ │ workspace.xml │ │ │ └─inspectionProfiles │ profiles_settings.xml │ ├─build │ └─test_ble │ Analysis-00.toc │ base_library.zip │ COLLECT-00.toc │ EXE-00.toc │ PKG-00.toc │ PYZ-00.pyz │ PYZ-00.toc │ test_ble.exe │ test_ble.exe.manifest │ test_ble.pkg │ Tree-00.toc │ warn-test_ble.txt │ xref-test_ble.html │ ├─dist │ │ ble.exe │ │ test_ble.zip │ │ │ └─test_ble │ │ api-ms-win-core-console-l1-1-0.dll │ │ api-ms-win-core-datetime-l1-1-0.dll │ │ api-ms-win-core-debug-l1-1-0.dll │ │ api-ms-win-core-errorhandling-l1-1-0.dll │ │ api-ms-win-core-file-l1-1-0.dll │ │ api-ms-win-core-file-l1-2-0.dll │ │ api-ms-win-core-file-l2-1-0.dll │ │ api-ms-win-core-handle-l1-1-0.dll │ │ api-ms-win-core-heap-l1-1-0.dll │ │ api-ms-win-core-interlocked-l1-1-0.dll │ │ api-ms-win-core-libraryloader-l1-1-0.dll │ │ api-ms-win-core-localization-l1-2-0.dll │ │ api-ms-win-core-memory-l1-1-0.dll │ │ api-ms-win-core-namedpipe-l1-1-0.dll │ │ api-ms-win-core-processenvironment-l1-1-0.dll │ │ api-ms-win-core-processthreads-l1-1-0.dll │ │ api-ms-win-core-processthreads-l1-1-1.dll │ │ api-ms-win-core-profile-l1-1-0.dll │ │ api-ms-win-core-rtlsupport-l1-1-0.dll │ │ api-ms-win-core-string-l1-1-0.dll │ │ api-ms-win-core-synch-l1-1-0.dll │ │ api-ms-win-core-synch-l1-2-0.dll │ │ api-ms-win-core-sysinfo-l1-1-0.dll │ │ api-ms-win-core-timezone-l1-1-0.dll │ │ api-ms-win-core-util-l1-1-0.dll │ │ api-ms-win-crt-conio-l1-1-0.dll │ │ api-ms-win-crt-convert-l1-1-0.dll │ │ api-ms-win-crt-environment-l1-1-0.dll │ │ api-ms-win-crt-filesystem-l1-1-0.dll │ │ api-ms-win-crt-heap-l1-1-0.dll │ │ api-ms-win-crt-locale-l1-1-0.dll │ │ api-ms-win-crt-math-l1-1-0.dll │ │ api-ms-win-crt-process-l1-1-0.dll │ │ api-ms-win-crt-runtime-l1-1-0.dll │ │ api-ms-win-crt-stdio-l1-1-0.dll │ │ api-ms-win-crt-string-l1-1-0.dll │ │ api-ms-win-crt-time-l1-1-0.dll │ │ api-ms-win-crt-utility-l1-1-0.dll │ │ base_library.zip │ │ clr.pyd │ │ pyexpat.pyd │ │ Python.Runtime.dll │ │ python36.dll │ │ pywintypes36.dll │ │ select.pyd │ │ test_ble.exe │ │ ucrtbase.dll │ │ unicodedata.pyd │ │ VCRUNTIME140.dll │ │ win32wnet.pyd │ │ _asyncio.pyd │ │ _bz2.pyd │ │ _ctypes.pyd │ │ _decimal.pyd │ │ _hashlib.pyd │ │ _lzma.pyd │ │ _multiprocessing.pyd │ │ _overlapped.pyd │ │ _socket.pyd │ │ _ssl.pyd │ │ │ └─bleak │ └─backends │ └─dotnet │ BleakUWPBridge.dll │ └─__pycache__ ble.cpython-36.pyc bt_ctrl.cpython-36.pyc test_ble.cpython-36.pyc
09-30
从你提供的文件目录结构来看,这个项目是一个基于 Python 的蓝牙控制程序,并且已经通过 PyInstaller 或其他打包工具将 Python 源代码封装为 `.exe` 可执行文件。以下是你可以从源代码文件入手分析其工作原理的思路: --- ### 1. **查看源代码文件** - **`bt_ctrl.py`**:可能是蓝牙控制的主要逻辑文件,建议首先查看它。 - **`ble.py`**:可能与 BLE(低功耗蓝牙)通信相关,查看其实现细节。 - **`test_ble.py`**:可能是测试用的脚本,用于验证 BLE 功能是否正常,可以作为理解程序逻辑的起点。 --- ### 2. **查看 .spec 文件** - **`bt_ctrl.spec`、`ble.spec`、`test_ble.spec`**: 这些是 PyInstaller 的打包配置文件,用于指导打包过程。你可以查看其中的依赖项、入口脚本、资源文件等信息。 --- ### 3. **构建和分发目录** - **`build/` 和 `dist/` 目录**: - `build/test_ble/` 中的 `.toc` 文件记录了打包时包含的模块和文件。 - `dist/test_ble/` 是最终生成的可执行文件和相关依赖库。其中的 `test_ble.exe` 是主程序,`ble.exe` 也是打包后的可执行文件。 - 你可以尝试使用工具如 `pyinstxtractor` 解包 `.exe` 文件,提取出原始的 `.pyc` 文件(编译后的字节码),再反编译回 `.py` 文件。 --- ### 4. **缓存文件** - **`__pycache__/` 目录下的 `.pyc` 文件**: 这些是 Python 编译后的字节码文件,可以直接运行,但需要反编译才能看到源代码。可以使用 `uncompyle6` 工具将其反编译回 `.py` 文件。 --- ### 5. **文档说明** - **`蓝牙控制程序说明.docx`**: 这个文档可能包含程序的功能说明、使用方法或开发背景,建议先阅读该文档,了解程序的目的和使用场景。 --- ### 6. **依赖库** - 程序使用了 `Bleak` 库(见 `bleak/backends/dotnet/BleakUWPBridge.dll`),这是一个用于 BLE 通信的跨平台库。可以查看 `ble.py` 和 `bt_ctrl.py` 中如何调用 `BleakClient` 或 `BleakScanner` 等类进行蓝牙设备扫描和连接。 --- ### 示例:反编译 `.pyc` 文件 ```bash pip install uncompyle6 uncompyle6 bt_ctrl.cpython-36.pyc > bt_ctrl.py ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值