rodrigo-arenas / Sklearn-genetic-opt

ML hyperparameters tuning and features selection, using evolutionary algorithms.
https://sklearn-genetic-opt.readthedocs.io
MIT License
301 stars 74 forks source link

Tests fail on newer Python releases (3.12.5 and 3.13.0rc2) #156

Closed penguinpee closed 21 hours ago

penguinpee commented 5 days ago

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Fedora Linux F39+ Sklearn-genetic-opt version: 0.11.0 Scikit-learn version: 1.3.0 / 1.4.1 Python version: 3.12.5 / 3.13.0rc2

Describe the bug

Tests are failing in version 0.11.0 with above mentioned Python version. We expect Python 3.13.0 to be released in time for inclusion in the upcoming Fedora 41. Current releases (39 and 40) were shipped with Python 3.12 and are currently on 3.12.5.

Version 0.10.1 seems to build and test fine with Python 3.12 and 3.13. I've noticed that the newest Python release, which is listed in setup.py and which is used for the CI tests is Python 3.11.

Before I waste any time with the details, is there a reason Python 3.12 is not officially supported and not tested with?

To Reproduce Steps to reproduce the behavior:

  1. Run tests in Python 3.12 or Python 3.13 environment
  2. AttributeError: 'GASearchCV' object has no attribute 'creator' during collection and execution of tests
penguinpee commented 5 days ago

I seems I have spoken and jumped to conclusions too soon. I just attempted a local build and test run in a Python 3.11 venv. That showed exactly the same errors.

At first the import of sklearn_genetic/tests/test_plots.py failes with:

_____________________________________________________________________________________________________________ ERROR collecting sklearn_genetic/tests/test_plots.py _____________________________________________________________________________________________________________
.venv/lib64/python3.11/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
.venv/lib64/python3.11/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
.venv/lib64/python3.11/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
.venv/lib64/python3.11/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
.venv/lib64/python3.11/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
.venv/lib64/python3.11/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
.venv/lib64/python3.11/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
.venv/lib64/python3.11/site-packages/_pytest/pathlib.py:565: in import_path
    importlib.import_module(module_name)
/usr/lib64/python3.11/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1204: in _gcd_import
    ???
<frozen importlib._bootstrap>:1176: in _find_and_load
    ???
<frozen importlib._bootstrap>:1147: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:690: in _load_unlocked
    ???
<frozen importlib._bootstrap_external>:940: in exec_module
    ???
<frozen importlib._bootstrap>:241: in _call_with_frames_removed
    ???
sklearn_genetic/tests/test_plots.py:39: in <module>
    evolved_estimator.fit(X_train, y_train)
sklearn_genetic/genetic_search.py:545: in fit
    self._register()
sklearn_genetic/genetic_search.py:311: in _register
    self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0])
E   AttributeError: 'GASearchCV' object has no attribute 'creator'

In the next run I disabled the import with --ignore sklearn_genetic/tests/test_plots.py leading to many more failing tests.

Output of pytest ignoring test_plots.py ```python =================================================================================================================================== FAILURES =================================================================================================================================== _________________________________________________________________________________________________________________________ test_logbook_saver_callback __________________________________________________________________________________________________________________________ sklearn_genetic/callbacks/tests/test_callbacks.py:201: in test_logbook_saver_callback evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _________________________________________________________________________________________________________________ test_tensorboard_callback[callback0-./logs] __________________________________________________________________________________________________________________ sklearn_genetic/callbacks/tests/test_callbacks.py:239: in test_tensorboard_callback evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _____________________________________________________________________________________________________________ test_tensorboard_callback[callback1-./sklearn_logs] ______________________________________________________________________________________________________________ sklearn_genetic/callbacks/tests/test_callbacks.py:239: in test_tensorboard_callback evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________________ test_tensorboard_callback[callback2-./logs/0] _________________________________________________________________________________________________________________ sklearn_genetic/callbacks/tests/test_callbacks.py:239: in test_tensorboard_callback evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________________ test_tensorboard_callback[callback3-./logs/1] _________________________________________________________________________________________________________________ sklearn_genetic/callbacks/tests/test_callbacks.py:239: in test_tensorboard_callback evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ___________________________________________________________________________________________________________________________ test_expected_ga_results ___________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:58: in test_expected_ga_results evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ____________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaSimple-callback0] ____________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuPlusLambda-callback1] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuCommaLambda-callback2] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ____________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaSimple-callback3] ____________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuPlusLambda-callback4] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuCommaLambda-callback5] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ____________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaSimple-callback6] ____________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuPlusLambda-callback7] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuCommaLambda-callback8] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ____________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaSimple-callback9] ____________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuPlusLambda-callback10] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuCommaLambda-callback11] ________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ___________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaSimple-callback12] ____________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuPlusLambda-callback13] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuCommaLambda-callback14] ________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ___________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaSimple-callback15] ____________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuPlusLambda-callback16] _________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________ test_expected_algorithms_callbacks[eaMuCommaLambda-callback17] ________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:174: in test_expected_algorithms_callbacks evolved_estimator.fit(X_train, y_train, callbacks=callback) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _____________________________________________________________________________________________________________________ test_missing_data_types[param_grid0] _____________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:239: in test_missing_data_types evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _____________________________________________________________________________________________________________________ test_missing_data_types[param_grid1] _____________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:239: in test_missing_data_types evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _____________________________________________________________________________________________________________________ test_missing_data_types[param_grid2] _____________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:239: in test_missing_data_types evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _____________________________________________________________________________________________________________________ test_missing_data_types[param_grid3] _____________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:239: in test_missing_data_types evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ____________________________________________________________________________________________________________________________ test_negative_criteria ____________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:277: in test_negative_criteria evolved_estimator.fit(X_train_b, y_train_b) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ________________________________________________________________________________________________________________________________ test_iterator _________________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:381: in test_iterator evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _____________________________________________________________________________________________________________________________ test_wrong_algorithm _____________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:411: in test_wrong_algorithm str(excinfo.value) E AssertionError _________________________________________________________________________________________________________________________ test_expected_ga_multimetric _________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:465: in test_expected_ga_multimetric evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _______________________________________________________________________________________________________________________ test_expected_ga_callable_score ________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:538: in test_expected_ga_callable_score evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' _________________________________________________________________________________________________________________________ test_expected_ga_schedulers __________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_genetic_search.py:616: in test_expected_ga_schedulers evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' __________________________________________________________________________________________________________________________________ test_runs ___________________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_mlflow.py:99: in test_runs evolved_estimator.fit(X_train, y_train) sklearn_genetic/genetic_search.py:545: in fit self._register() sklearn_genetic/genetic_search.py:311: in _register self.creator.create("FitnessMax", base.Fitness, weights=[self.criteria_sign, 1.0]) E AttributeError: 'GASearchCV' object has no attribute 'creator' ____________________________________________________________________________________________________________________________ test_mlflow_artifacts _____________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_mlflow.py:110: in test_mlflow_artifacts assert client.list_artifacts(run_id)[0].path == "model" E IndexError: list index out of range ______________________________________________________________________________________________________________________________ test_mlflow_params ______________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_mlflow.py:122: in test_mlflow_params assert 0 <= float(params["min_weight_fraction_leaf"]) <= 0.5 E KeyError: 'min_weight_fraction_leaf' ____________________________________________________________________________________________________________________________ test_mlflow_after_run _____________________________________________________________________________________________________________________________ sklearn_genetic/tests/test_mlflow.py:138: in test_mlflow_after_run assert 0 <= float(params["min_weight_fraction_leaf"]) <= 0.5 E KeyError: 'min_weight_fraction_leaf' ```

I'm mostly interested in the GASearchCV AttributeError. Since we have neither mlflow nor tensorflow packaged in Fedora, we skipped the tests needing those (plus a few more I hadn't had time to look into back then).

When I looked at the recent GitHub Actions, in particular the most recent 0.11.0 release run in order to compare results, I noticed that there is no output or the Test with pytest job since the previous job timed out.

The one before that succeeded, but only for the 3.11 Ubuntu configuration. Versions used for testing are the same on my end: platform linux -- Python 3.11.9, pytest-7.4.0, pluggy-1.5.0.

rodrigo-arenas commented 1 day ago

Hi, thanks for reporting this, I'll take a look into the error AttributeError: 'GASearchCV' object has no attribute 'creator'

To run all the tests the installation requires to use pip install sklearn-genetic-opt[all]. If you're manually skipping some tests and not using the all flag, I still would recommend installing seaborn.

The latest official supported version is python 3.11 because the underlying genetic algorithms package DEAP from which we heavily rely, also has this version as the latest supported one.

rodrigo-arenas commented 21 hours ago

This has been fixed and released under version 0.11.1:

tests

release

penguinpee commented 19 hours ago

Thanks! Just a quick confirmation that everything is working again as before also in Python 3.12 and 3.13. :+1: