Nuitka打包的Python程序exe在Windows 7运行报错求助
问题:Nuitka打包的Python exe在Windows 7报错"Negative size passed to PyUnicode_New"
我用Nuitka将Python项目打包为exe文件,该文件可在Windows 10正常运行,但在Windows 7中出现如下错误:
e 180, in <module pyautogui> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "C:\\Users\\Windows\\AppData\\Local\\Temp\\ONEFIL~1\\pyscreeze\\__init__.py", line 10, in <module pyscreeze> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in __find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "C:\\Users\\Windows\\AppData\\Local\\Temp\\ONEFIL~1\\subprocess.py", line 58, in <module> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1080, in _find_spec File "<frozen importlib._bootstrap_external>", line 1504, in find_spec File "<frozen importlib._bootstrap_external>", line 1473, in _get_spec File "<frozen importlib._bootstrap_external>", line 1439, in _path_importer_cache File "<frozen importlib._bootstrap_external>", line 1415, in _path_hooks File "<frozen importlib._bootstrap_external>", line 1700, in path_hook_for_FileFinder File "<frozen importlib._bootstrap_external>", line 1570, in _init File "<frozen importlib._bootstrap_external>", line 176, in _path_isabs SystemError: Negative size passed to PyUnicode_New
解决方法
- 使用Python 3.8或更低版本打包:Windows 7官方不再支持Python 3.9及以上版本,高版本Python的核心模块在Win7下会出现兼容性问题,必须切换到兼容的Python版本重新打包。
- 编译时指定Windows 7目标:执行Nuitka打包命令时加上参数
--windows-target=7,强制生成适配Win7的二进制文件。 - 降级依赖库版本:确保pyautogui、pyscreeze等依赖库使用支持Windows 7的旧版本,避免使用最新版(比如pyautogui可以降到0.9.53版本)。
- 尝试禁用单文件模式:暂时去掉
--onefile参数,改用--standalone生成独立目录,将整个目录拷贝到Windows 7环境运行,排查临时文件解压路径的问题。 - 安装Windows 7必要补丁:确保Win7系统安装了KB2533623补丁,该补丁是支持Python某些字符串处理特性的必备组件。
内容的提问来源于stack exchange,提问作者user21836945
相关产品推荐
相关产品推荐

