如何解决 SystemError: _internal 初始化失败而不引发异常?

Ash*_*Ash 4 regression python-3.x system-error numba pycaret

问题

我编写了一个代码,将一些历史数据作为输入。假设数据集具有timeseries格式,我正在尝试进行回归并找到预测变量。

代码

对于我的项目,我有四个文件:my_project.pyutilities.pyplotter.pyconstants.py. 这是两个脚本的一些小部分(相关导入):

  1. my_project.py

    从时间导入 perf_counter

    来自常量导入(输出目录、数据路径、输出文件)

    从实用程序导入(dataframe_in_nutshell、excel_reader、info_printer、sys、module_creator、process_discovery、data_explanatory_analysis、excel_reader、df_cleaner、feature_extractor、ml_modelling)

    从绘图仪导入绘图仪

  2. utilities.py

    导入操作系统

    导入系统导入检查

    从 pathlib 导入路径

    输入 import (可迭代、列表、元组、可选)

    从 itertools 导入 zip_longest

    将 matplotlib.pyplot 导入为 plt

    将 statsmodels.tsa.api 导入为 smt

    将 statsmodels.api 导入为 sm

    将 pandas 导入为 pd

    从 sklearn.metrics 导入mean_absolute_error

    从 sklearn.preprocessing 导入规模

    从 pycaret.regression 导入(设置、compare_models、predict_model、plot_model、finalize_model、load_model)

    导入 csv

    来自常量导入(np,路径,nan_value,plots_dir,HOURS_PER_WEEK,LAGS_STEP_NUM,rc_params,NA_VALUES,COLUMNS_NAMES,string_columns,LAGS_LABELS,numeric_columns,output_dir,DATAPATH,dtype_dict,train_size)

    从 pprint 导入 PrettyPrinter

    pp = PrettyPrinter()

    将seaborn导入为sns

    sns.set()

错误信息

Traceback (most recent call last):
  File "c:\Users\username\OneDrive\Desktop\project\my_project.py", line 10, in <module>
    from utilities import (dataframe_in_nutshell, excel_reader, info_printer, sys, module_creator,
  File "c:\Users\username\OneDrive\Desktop\project\utilities.py", line 18, in <module>
    from pycaret.regression import (setup, compare_models, predict_model, plot_model, finalize_model,
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\pycaret\regression.py", line 10, in <module>        
    import pycaret.internal.tabular
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\pycaret\internal\tabular.py", line 48, in <module>  
    import pycaret.internal.preprocess
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\pycaret\internal\preprocess.py", line 27, in <module>
    from pyod.models.knn import KNN
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\pyod\__init__.py", line 4, in <module>
    from . import utils
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\pyod\utils\__init__.py", line 4, in <module>        
    from .stat_models import pairwise_distances_no_broadcast
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\pyod\utils\stat_models.py", line 11, in <module>    
    from numba import njit
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\numba\__init__.py", line 42, in <module>
    from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\numba\np\ufunc\__init__.py", line 3, in <module>    
    from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
  File "C:\Users\username\anaconda3\envs\py310\lib\site-packages\numba\np\ufunc\decorators.py", line 3, in <module>  
    from numba.np.ufunc import _internal
SystemError: initialization of _internal failed without raising an exception
Run Code Online (Sandbox Code Playgroud)

后勤

  1. 我正在 Windows 10 计算机上的 Visual Studio 代码中运行 my_project.py。

  2. 所有包均基于使用 conda-forge 通道的 Python 3.10

研究

以下几页似乎解释了解决方法,但我不确定我是否理解这里的问题。如果您能帮我解决这个问题,我将不胜感激。

使用 numpy HEAD 导入时出错

更新 ufunc 循环签名解析以使用 NumPy

消除对 npy_ufunc 循环的依赖。

小智 13

我今天也遇到了同样的问题。

通过将 Numpy 降级到 1.23.1 解决了这个问题

所以:pip install numpy==1.23.1