如何解决尝试导入numpy时出现SystemError:初始化_internal失败?

问题描述 投票:0回答:1

问题

我编写了一个代码,将一些历史数据作为输入。假设数据集具有

timeseries
格式,我正在尝试进行回归并找到预测器。

代码

对于我的项目,我有四个文件:

my_project.py
utilities.py
plotter.py
constants.py
。这是两个脚本的一些小部分(相关导入):

  1. my_project.py
    from time import perf_counter
    from constants import (output_dir, DATAPATH, output_file)
    from utilities import (dataframe_in_nutshell, excel_reader, info_printer, sys, module_creator, process_discovery, data_explanatory_analysis, excel_reader, df_cleaner, feature_extractor, ml_modelling)
    from plotter import Plotter
  1. utilities.py
    import os
    import sys
    import inspect
    from pathlib import Path
    from typing import (Iterable, List, Tuple, Optional)
    from itertools import zip_longest
    import matplotlib.pyplot as plt
    import statsmodels.tsa.api as smt
    import statsmodels.api as sm
    import pandas as pd
    from sklearn.metrics import mean_absolute_error
    from sklearn.preprocessing import scale
    from pycaret.regression import (setup, compare_models, predict_model, plot_model, finalize_model, load_model)
    import csv
    from constants import (np, Path, 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)
    from pprint import PrettyPrinter
    pp = PrettyPrinter()
    import seaborn as 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

物流

  1. 我正在 Windows 10 计算机上的 Visual Studio Code (VS Code) 中运行 my_project.py。
  2. 所有包均基于使用 conda-forge 通道的 Python 3.10

研究

导入期间某处发生错误。

以下几页似乎解释了解决方法,但我不确定如何继续。 我怎样才能完成这些导入而不失败?

使用 numpy HEAD 导入时出错

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

消除对 npy_ufunc 循环的依赖。

python-3.x regression numba pycaret system-error
1个回答
14
投票

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

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

所以:

pip install numpy==1.23.1

© www.soinside.com 2019 - 2024. All rights reserved.