当前位置: 首页> 健康> 母婴 > from sklearn.XXX import XXXXXX 程序打包无法正常运行

from sklearn.XXX import XXXXXX 程序打包无法正常运行

时间:2025/7/13 22:25:42来源:https://blog.csdn.net/S5242/article/details/141229356 浏览次数:0次

1. 报错和截图如下:

Traceback (most recent call last):File "RsrpLimitGUI222.py", line 7, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "abnormal_process_and_saveresult.py", line 4, in <module>from sklearn.ensemble import IsolationForestFile "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "sklearn\__init__.py", line 84, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "sklearn\base.py", line 19, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "sklearn\utils\__init__.py", line 11, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "sklearn\utils\_chunking.py", line 8, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "sklearn\utils\_param_validation.py", line 11, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "scipy\sparse\__init__.py", line 293, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "scipy\sparse\_base.py", line 5, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "scipy\sparse\_sputils.py", line 10, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "scipy\_lib\_util.py", line 18, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "scipy\_lib\_array_api.py", line 21, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "scipy\_lib\array_api_compat\numpy\__init__.py", line 1, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "numpy\f2py\__init__.py", line 19, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "numpy\f2py\f2py2e.py", line 23, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "numpy\f2py\crackfortran.py", line 159, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "numpy\f2py\auxfuncs.py", line 19, in <module>File "<frozen importlib._bootstrap>", line 1360, in _find_and_loadFile "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 935, in _load_unlockedFile "PyInstaller\loader\pyimod02_importers.py", line 378, in exec_moduleFile "numpy\f2py\cfuncs.py", line 19, in <module>
AttributeError: 'NoneType' object has no attribute 'write'

在这里插入图片描述

2.原因:

我代码中导入了sklearn部分库,可能 pyinstaller 未自动打包进去,需要手动添加一下。
AttributeError: ‘NoneType’ object has no attribute ‘write’ 表示在加载某些模块时出现了问题,通常是因为某个依赖项未正确打包或加载。在这种情况下,可能是由于 numpy 或 scipy 中的某些子模块未正确包含。

3. 解决:

在XXX.spec文件中hiddenimports增加可能依赖的包文件,确保 numpy 和 scipy 的相关子模块都被包含,重新打包即可。
XXX.spec文件如下所示

# -*- mode: python ; coding: utf-8 -*-a = Analysis(['RsrpLimitGUI222.py'],pathex=[],binaries=[],datas=[],hiddenimports=['scipy._lib.array_api_compat.numpy.fft','scipy._lib._array_api_compat','scipy._lib._array_api','scipy._lib','scipy','scipy.sparse','scipy.sparse._csr',  # 添加此行'scipy.sparse._csc',  # 添加此行'scipy.linalg',  # 添加此行'numpy','numpy.f2py.cfuncs','numpy.f2py.auxfuncs','numpy.f2py.crackfortran','numpy.f2py.f2py2e','numpy.f2py.auxfuncs','numpy.f2py.cfuncs','numpy.linalg',  # 添加此行'sklearn.svm','sklearn.ensemble','sklearn.neighbors','sklearn.cluster','sklearn.utils._cython_blas','sklearn.utils.sparsefuncs_fast','sklearn.tree','sklearn.utils','threading',],hookspath=[],hooksconfig={},runtime_hooks=[],excludes=[],noarchive=False,
)pyz = PYZ(a.pure)exe = EXE(pyz,a.scripts,a.binaries,a.datas,[],name='RsrpLimitGUI222',debug=True,  # 启用调试bootloader_ignore_signals=False,strip=False,upx=True,upx_exclude=[],runtime_tmpdir=None,console=True,  # 打开控制台以查看输出disable_windowed_traceback=False,argv_emulation=False,target_arch=None,codesign_identity=None,entitlements_file=None,
)
关键字:from sklearn.XXX import XXXXXX 程序打包无法正常运行

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: