martineastwood / penaltyblog

Library from http://pena.lt/y/blog for modelling and working with football (soccer) data
http://pena.lt/y/blog
MIT License
56 stars 10 forks source link

SystemError: initialization of _internal failed without raising an exception #8

Closed patem2 closed 1 year ago

patem2 commented 1 year ago

Hi Martin,

I come across your package whilst researching Poisson calculations, I've tried to install the package using PIP and its raised the following exception for me:

import penaltyblog as pb

SystemError: initialization of _internal failed without raising an exception

I've checked the Anaconda library and it is included in the folder path, am I doing something wrong?

Note I use the CONDA command prompt but I've tried both to install via PIP and both presents the same error?

Any assistance offered would be gratefully received :-)

Best wishes Mark


The Jupyter error code is as follows:


SystemError Traceback (most recent call last)

in 1 import pandas as pd ----> 2 import penaltyblog as pb ~\anaconda3\lib\site-packages\penaltyblog\__init__.py in ----> 1 from . import fpl, implied, metrics, models, ratings, scrapers # noqa 2 from .version import __version__ # noqa ~\anaconda3\lib\site-packages\penaltyblog\models\__init__.py in ----> 1 from .bayesian_bivariate import BayesianBivariateGoalModel # noqa 2 from .bayesian_hierarchical import BayesianHierarchicalGoalModel # noqa 3 from .bayesian_random_intercept import BayesianRandomInterceptGoalModel # noqa 4 from .dixon_coles import DixonColesGoalModel # noqa 5 from .football_probability_grid import FootballProbabilityGrid # noqa ~\anaconda3\lib\site-packages\penaltyblog\models\bayesian_bivariate.py in 4 import numpy as np 5 import pandas as pd ----> 6 import pymc as pm 7 from scipy.stats import poisson 8 ~\anaconda3\lib\site-packages\pymc\__init__.py in 47 __set_compiler_flags() 48 ---> 49 from pymc import _version, gp, ode, sampling 50 from pymc.aesaraf import * 51 from pymc.backends import * ~\anaconda3\lib\site-packages\pymc\gp\__init__.py in 13 # limitations under the License. 14 ---> 15 from pymc.gp import cov, mean, util 16 from pymc.gp.gp import ( 17 TP, ~\anaconda3\lib\site-packages\pymc\gp\util.py in 30 31 # Avoid circular dependency when importing modelcontext ---> 32 from pymc.distributions.distribution import Distribution 33 34 _ = Distribution # keep both pylint and black happy ~\anaconda3\lib\site-packages\pymc\distributions\__init__.py in 19 ) 20 ---> 21 from pymc.distributions.bound import Bound 22 from pymc.distributions.censored import Censored 23 from pymc.distributions.continuous import ( ~\anaconda3\lib\site-packages\pymc\distributions\bound.py in 22 23 from pymc.aesaraf import floatX, intX ---> 24 from pymc.distributions.continuous import BoundedContinuous, bounded_cont_transform 25 from pymc.distributions.dist_math import check_parameters 26 from pymc.distributions.distribution import Continuous, Discrete ~\anaconda3\lib\site-packages\pymc\distributions\continuous.py in 76 from pymc.aesaraf import floatX 77 from pymc.distributions import transforms ---> 78 from pymc.distributions.dist_math import ( 79 SplineWrapper, 80 check_parameters, ~\anaconda3\lib\site-packages\pymc\distributions\dist_math.py in 38 39 from pymc.aesaraf import floatX ---> 40 from pymc.distributions.shape_utils import to_tuple 41 42 solve_lower = SolveTriangular(lower=True) ~\anaconda3\lib\site-packages\pymc\distributions\shape_utils.py in 36 37 from pymc.aesaraf import convert_observed_data ---> 38 from pymc.model import modelcontext 39 40 __all__ = [ ~\anaconda3\lib\site-packages\pymc\model.py in 65 from pymc.distributions.transforms import _default_transform 66 from pymc.exceptions import ImputationWarning, SamplingError, ShapeError, ShapeWarning ---> 67 from pymc.initial_point import make_initial_point_fn 68 from pymc.util import ( 69 UNSET, ~\anaconda3\lib\site-packages\pymc\initial_point.py in 27 28 from pymc.aesaraf import compile_pymc, find_rng_nodes, replace_rng_nodes, reseed_rngs ---> 29 from pymc.util import get_transformed_name, get_untransformed_name, is_transformed_name 30 31 StartDict = Dict[Union[Variable, str], Union[np.ndarray, Variable, str]] ~\anaconda3\lib\site-packages\pymc\util.py in 18 from typing import Any, Dict, List, Optional, Sequence, Tuple, Union, cast 19 ---> 20 import arviz 21 import cloudpickle 22 import numpy as np ~\anaconda3\lib\site-packages\arviz\__init__.py in 32 33 from .data import * ---> 34 from .plots import * 35 from .plots.backends import * 36 from .stats import * ~\anaconda3\lib\site-packages\arviz\plots\__init__.py in 1 """Plotting functions.""" ----> 2 from .autocorrplot import plot_autocorr 3 from .bpvplot import plot_bpv 4 from .bfplot import plot_bf 5 from .compareplot import plot_compare ~\anaconda3\lib\site-packages\arviz\plots\autocorrplot.py in 5 from ..rcparams import rcParams 6 from ..utils import _var_names ----> 7 from .plot_utils import default_grid, filter_plotters_list, get_plotting_function 8 9 ~\anaconda3\lib\site-packages\arviz\plots\plot_utils.py in 14 from ..rcparams import rcParams 15 from ..stats.density_utils import kde ---> 16 from ..stats import hdi 17 18 KwargSpec = Dict[str, Any] ~\anaconda3\lib\site-packages\arviz\stats\__init__.py in 2 """Statistical tests and diagnostics for ArviZ.""" 3 from .density_utils import * ----> 4 from .diagnostics import * 5 from .stats import * 6 from .stats import _calculate_ics ~\anaconda3\lib\site-packages\arviz\stats\diagnostics.py in 13 from ..utils import Numba, _numba_var, _stack, _var_names 14 from .density_utils import histogram as _histogram ---> 15 from .stats_utils import _circular_standard_deviation, _sqrt 16 from .stats_utils import autocov as _autocov 17 from .stats_utils import not_valid as _not_valid ~\anaconda3\lib\site-packages\arviz\stats\stats_utils.py in 535 536 @conditional_vect --> 537 def _sqrt(a_a, b_b): 538 return (a_a + b_b) ** 0.5 539 ~\anaconda3\lib\site-packages\arviz\utils.py in conditional_vect(function, **kwargs) 303 304 if function: --> 305 return wrapper(function) 306 else: 307 return wrapper ~\anaconda3\lib\site-packages\arviz\utils.py in wrapper(function) 296 def wrapper(function): 297 try: --> 298 numba = importlib.import_module("numba") 299 return numba.vectorize(**kwargs)(function) 300 ~\anaconda3\lib\importlib\__init__.py in import_module(name, package) 125 break 126 level += 1 --> 127 return _bootstrap._gcd_import(name[level:], package, level) 128 129 ~\anaconda3\lib\site-packages\numba\__init__.py in 41 42 # Re-export vectorize decorators and the thread layer querying function ---> 43 from numba.np.ufunc import (vectorize, guvectorize, threading_layer, 44 get_num_threads, set_num_threads) 45 ~\anaconda3\lib\site-packages\numba\np\ufunc\__init__.py in 1 # -*- coding: utf-8 -*- 2 ----> 3 from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize 4 from numba.np.ufunc._internal import PyUFunc_None, PyUFunc_Zero, PyUFunc_One 5 from numba.np.ufunc import _internal, array_exprs ~\anaconda3\lib\site-packages\numba\np\ufunc\decorators.py in 1 import inspect 2 ----> 3 from numba.np.ufunc import _internal 4 from numba.np.ufunc.parallel import ParallelUFuncBuilder, ParallelGUFuncBuilder 5 SystemError: initialization of _internal failed without raising an exception
martineastwood commented 1 year ago

Hi Mark,I suspect this is not specifically due to the penaltyblog package but may be a numpy version mismatch.A simple starting point would be to check what versions of numpy and numba you are using and make sure you’ve got recent ones installed.MartinSent from my iPhoneOn 27 Apr 2023, at 11:46, patem2 @.***> wrote: Hi Martin, I come across your package whilst researching Poisson calculations, I've tried to install the package using PIP and its raised the following exception for me: import penaltyblog as pb SystemError: initialization of _internal failed without raising an exception I've checked the Anaconda library and it is included in the folder path, am I doing something wrong? Note I use the CONDA command prompt but I've tried both to install via PIP and both presents the same error? Any assistance offered would be gratefully received :-) Best wishes Mark

The Jupyter error code is as follows:

SystemError Traceback (most recent call last) in 1 import pandas as pd ----> 2 import penaltyblog as pb ~\anaconda3\lib\site-packages\penaltybloginit.py in ----> 1 from . import fpl, implied, metrics, models, ratings, scrapers # noqa 2 from .version import version # noqa ~\anaconda3\lib\site-packages\penaltyblog\modelsinit.py in ----> 1 from .bayesian_bivariate import BayesianBivariateGoalModel # noqa 2 from .bayesian_hierarchical import BayesianHierarchicalGoalModel # noqa 3 from .bayesian_random_intercept import BayesianRandomInterceptGoalModel # noqa 4 from .dixon_coles import DixonColesGoalModel # noqa 5 from .football_probability_grid import FootballProbabilityGrid # noqa ~\anaconda3\lib\site-packages\penaltyblog\models\bayesian_bivariate.py in 4 import numpy as np 5 import pandas as pd ----> 6 import pymc as pm 7 from scipy.stats import poisson 8 ~\anaconda3\lib\site-packages\pymcinit.py in 47 __set_compiler_flags() 48 ---> 49 from pymc import _version, gp, ode, sampling 50 from pymc.aesaraf import 51 from pymc.backends import ~\anaconda3\lib\site-packages\pymc\gpinit.py in 13 # limitations under the License. 14 ---> 15 from pymc.gp import cov, mean, util 16 from pymc.gp.gp import ( 17 TP, ~\anaconda3\lib\site-packages\pymc\gp\util.py in 30 31 # Avoid circular dependency when importing modelcontext ---> 32 from pymc.distributions.distribution import Distribution 33 34 _ = Distribution # keep both pylint and black happy ~\anaconda3\lib\site-packages\pymc\distributionsinit.py in 19 ) 20 ---> 21 from pymc.distributions.bound import Bound 22 from pymc.distributions.censored import Censored 23 from pymc.distributions.continuous import ( ~\anaconda3\lib\site-packages\pymc\distributions\bound.py in 22 23 from pymc.aesaraf import floatX, intX ---> 24 from pymc.distributions.continuous import BoundedContinuous, bounded_cont_transform 25 from pymc.distributions.dist_math import check_parameters 26 from pymc.distributions.distribution import Continuous, Discrete ~\anaconda3\lib\site-packages\pymc\distributions\continuous.py in 76 from pymc.aesaraf import floatX 77 from pymc.distributions import transforms ---> 78 from pymc.distributions.dist_math import ( 79 SplineWrapper, 80 check_parameters, ~\anaconda3\lib\site-packages\pymc\distributions\dist_math.py in 38 39 from pymc.aesaraf import floatX ---> 40 from pymc.distributions.shape_utils import to_tuple 41 42 solve_lower = SolveTriangular(lower=True) ~\anaconda3\lib\site-packages\pymc\distributions\shape_utils.py in 36 37 from pymc.aesaraf import convert_observed_data ---> 38 from pymc.model import modelcontext 39 40 all = [ ~\anaconda3\lib\site-packages\pymc\model.py in 65 from pymc.distributions.transforms import _default_transform 66 from pymc.exceptions import ImputationWarning, SamplingError, ShapeError, ShapeWarning ---> 67 from pymc.initial_point import make_initial_point_fn 68 from pymc.util import ( 69 UNSET, ~\anaconda3\lib\site-packages\pymc\initial_point.py in 27 28 from pymc.aesaraf import compile_pymc, find_rng_nodes, replace_rng_nodes, reseed_rngs ---> 29 from pymc.util import get_transformed_name, get_untransformed_name, is_transformed_name 30 31 StartDict = Dict[Union[Variable, str], Union[np.ndarray, Variable, str]] ~\anaconda3\lib\site-packages\pymc\util.py in 18 from typing import Any, Dict, List, Optional, Sequence, Tuple, Union, cast 19 ---> 20 import arviz 21 import cloudpickle 22 import numpy as np ~\anaconda3\lib\site-packages\arvizinit.py in 32 33 from .data import ---> 34 from .plots import 35 from .plots.backends import 36 from .stats import ~\anaconda3\lib\site-packages\arviz\plotsinit.py in 1 """Plotting functions.""" ----> 2 from .autocorrplot import plot_autocorr 3 from .bpvplot import plot_bpv 4 from .bfplot import plot_bf 5 from .compareplot import plot_compare ~\anaconda3\lib\site-packages\arviz\plots\autocorrplot.py in 5 from ..rcparams import rcParams 6 from ..utils import _var_names ----> 7 from .plot_utils import default_grid, filter_plotters_list, get_plotting_function 8 9 ~\anaconda3\lib\site-packages\arviz\plots\plot_utils.py in 14 from ..rcparams import rcParams 15 from ..stats.density_utils import kde ---> 16 from ..stats import hdi 17 18 KwargSpec = Dict[str, Any] ~\anaconda3\lib\site-packages\arviz\statsinit.py in 2 """Statistical tests and diagnostics for ArviZ.""" 3 from .density_utils import ----> 4 from .diagnostics import 5 from .stats import * 6 from .stats import _calculate_ics ~\anaconda3\lib\site-packages\arviz\stats\diagnostics.py in 13 from ..utils import Numba, _numba_var, _stack, _var_names 14 from .density_utils import histogram as _histogram ---> 15 from .stats_utils import _circular_standard_deviation, _sqrt 16 from .stats_utils import autocov as _autocov 17 from .stats_utils import not_valid as _not_valid ~\anaconda3\lib\site-packages\arviz\stats\stats_utils.py in 535 536 @conditional_vect --> 537 def _sqrt(a_a, b_b): 538 return (a_a + b_b) 0.5 539 ~\anaconda3\lib\site-packages\arviz\utils.py in conditional_vect(function, kwargs) 303 304 if function: --> 305 return wrapper(function) 306 else: 307 return wrapper ~\anaconda3\lib\site-packages\arviz\utils.py in wrapper(function) 296 def wrapper(function): 297 try: --> 298 numba = importlib.import_module("numba") 299 return numba.vectorize(**kwargs)(function) 300 ~\anaconda3\lib\importlibinit.py in import_module(name, package) 125 break 126 level += 1 --> 127 return _bootstrap._gcd_import(name[level:], package, level) 128 129 ~\anaconda3\lib\site-packages\numbainit.py in 41 42 # Re-export vectorize decorators and the thread layer querying function ---> 43 from numba.np.ufunc import (vectorize, guvectorize, threading_layer, 44 get_num_threads, set_num_threads) 45 ~\anaconda3\lib\site-packages\numba\np\ufuncinit.py in 1 # -- coding: utf-8 -- 2 ----> 3 from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize 4 from numba.np.ufunc._internal import PyUFunc_None, PyUFunc_Zero, PyUFunc_One 5 from numba.np.ufunc import _internal, array_exprs ~\anaconda3\lib\site-packages\numba\np\ufunc\decorators.py in 1 import inspect 2 ----> 3 from numba.np.ufunc import _internal 4 from numba.np.ufunc.parallel import ParallelUFuncBuilder, ParallelGUFuncBuilder 5 SystemError: initialization of _internal failed without raising an exception

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

patem2 commented 1 year ago

Thanks Martin I was sure it would be a user error, let me update the anaconda packages and try again as it looks like a great piece of work 👍

patem2 commented 1 year ago

Hi Martin, this is fixed after an update of all conda packages, thanks for the steer 😀

I wished I’d come across this earlier as I’ve spent a few weeks developing something similar, I’m fairly new to coding so thought it was be something good to get my teeth in to (certainly not wasted effort as it’s been really good practice).

This looks like a great package and I’m looking forward to learning more from it 👍

martineastwood commented 1 year ago

Thanks Mark, glad to hear it’s all working 😃Sent from my iPhoneOn 27 Apr 2023, at 16:13, patem2 @.***> wrote: Hi Martin, this is fixed after an update of all conda packages, thanks for the steer 😀 I wished I’d come across this earlier as I’ve spent a few weeks developing something similar, I’m fairly new to coding so thought it was be something good to get my teeth in to (certainly not wasted effort as it’s been really good practice). This looks like a great package and I’m looking forward to learning more from it 👍

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>