guix_mirror_bot pushed a commit to branch python-team
in repository guix.
commit 54d1ad0f7d8b3eaaa140502407d49ec8e6f41540
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Tue Jan 6 14:47:57 2026 +0000
gnu: python-hyperopt: Fix build.
* gnu/packages/machine-learning.scm (python-hyperopt):
[arguments] <test-flags>: Move test logic from custom 'check phase here.
<phases>: Use default 'check.
[propagated-inputs]: Remove python-numpy; add python-numpy-1 and
python-scikit-learn.
Change-Id: Ic5b8b5a2ed37417e4869b8b00110367778b2c632
---
gnu/packages/machine-learning.scm | 53 ++++++++++++++++++++++-----------------
1 file changed, 30 insertions(+), 23 deletions(-)
diff --git a/gnu/packages/machine-learning.scm
b/gnu/packages/machine-learning.scm
index 1c847e1b50..be4c5afa4b 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2971,6 +2971,8 @@ interactive learning.")
(license license:bsd-3)))
(define-public python-hyperopt
+ ;; XXX: No releases since 2021, see:
+ ;; <https://github.com/hyperopt/hyperopt/issues/943>.
(package
(name "python-hyperopt")
(version "0.2.7")
@@ -2981,39 +2983,44 @@ interactive learning.")
(sha256
(base32 "0jd1ghmm423kbhjvd6pxq92y5vkz25390687fcnd7fshh3jrmy0v"))))
(build-system pyproject-build-system)
+ ;; tests: 219 passed, 2 skipped, 7 deselected, 35331 warnings
(arguments
(list
- #:phases
- '(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "pytest"
- ;; Needs python-pyspark.
- "--ignore" "hyperopt/tests/integration/test_spark.py"
- ;; Needs both python-scikit-learn and python-lightgbm.
- "--ignore" "hyperopt/tests/unit/test_atpe_basic.py"
- ;; The tests below need python-lightgbm.
- "-k"
- (string-append "not test_branin"
- " and not test_distractor"
- " and not test_q1lognormal"
- " and not test_quadratic1"
- " and not test_twoarms"
- ;; XXX Type error with this version of
scipy
- " and not test_distribution_rvs"))))))))
+ #:test-flags
+ #~(list "--ignore=hyperopt/tests/integration/"
+ #$@(map (lambda (test) (string-append "--deselect="
+ "hyperopt/tests/unit/"
+ test))
+ ;; ImportError: You must install lightgbm and sklearn in
+ ;; order to use the ATPE algorithm. Please run `pip
+ ;; install lightgbm scikit-learn` and try again. These
+ ;; are not built in dependencies of hyperopt.
+ (list "test_tpe.py::TestSuggestAtpe::test_branin"
+ "test_tpe.py::TestSuggestAtpe::test_distractor"
+ "test_tpe.py::TestSuggestAtpe::test_q1lognormal"
+ "test_tpe.py::TestSuggestAtpe::test_quadratic1"
+ "test_tpe.py::TestSuggestAtpe::test_twoarms"
+ "test_atpe_basic.py::test_run_basic_search"
+ ;; TypeError: unsupported operand type(s) for -:
+ ;; 'method' and 'int'
+
"test_rdists.py::TestLogUniform::test_distribution_rvs")))))
+ (native-inputs
+ (list python-pymongo
+ python-pynose ;fails more without extra test runner
+ python-pytest))
(propagated-inputs
(list python-cloudpickle
python-future
python-py4j
python-networkx
- python-numpy
+ python-numpy-1
python-scipy
python-setuptools ; For pkg_resources.
python-six
- python-tqdm))
- (native-inputs
- (list python-pymongo python-pynose python-pytest))
+ python-tqdm
+ ;; [optional]
+ ;; python-lightgbm
+ python-scikit-learn))
(home-page "https://hyperopt.github.io/hyperopt/")
(synopsis "Library for hyperparameter optimization")
(description "Hyperopt is a Python library for serial and parallel