Skip to content

Unable to run code tests, both serial and parallel #29280

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
clin1234 opened this issue Jun 17, 2024 · 6 comments
Closed

Unable to run code tests, both serial and parallel #29280

clin1234 opened this issue Jun 17, 2024 · 6 comments
Labels
Bug Needs Triage Issue requires triage

Comments

@clin1234
Copy link

Describe the bug

Building with Python 3.13 and OpenMP-enabled scipy on Ubuntu succeeeds, but I am unable to run tests, parallel mode or not.

Steps/Code to Reproduce

Using GitHub Codespaces:

  1. Add the deadsnakes/ppa, install python3.13-venv and libpython3.13-dev
  2. python3.13 -m venv sklearn-env, then activate it
  3. Install libopenblas-openmp-dev
  4. pip install wheel numpy scipy cython meson-python ninja
  5. make (or make test-code)

Expected Results

Tests to pass.

Actual Results

make test-code:

python setup.py build_ext -i
Partial import of sklearn during the build process.
/workspaces/scikit-learn/sklearn-env/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:83: SetuptoolsWarning: `install_requires` overwritten in `pyproject.toml` (dependencies)
  corresp(dist, value, root_dir)
running build_ext
running build_clib
building 'libsvm-skl' library
building 'liblinear-skl' library
copying build/lib.linux-x86_64-cpython-313/sklearn/__check_build/_check_build.cpython-313-x86_64-linux-gnu.so -> sklearn/__check_build
copying build/lib.linux-x86_64-cpython-313/sklearn/_isotonic.cpython-313-x86_64-linux-gnu.so -> sklearn
copying build/lib.linux-x86_64-cpython-313/sklearn/_loss/_loss.cpython-313-x86_64-linux-gnu.so -> sklearn/_loss
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_dbscan_inner.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hierarchical_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_common.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_lloyd.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_elkan.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_minibatch.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hdbscan/_linkage.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster/_hdbscan
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hdbscan/_reachability.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster/_hdbscan
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hdbscan/_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster/_hdbscan
copying build/lib.linux-x86_64-cpython-313/sklearn/datasets/_svmlight_format_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/datasets
copying build/lib.linux-x86_64-cpython-313/sklearn/decomposition/_online_lda_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/decomposition
copying build/lib.linux-x86_64-cpython-313/sklearn/decomposition/_cdnmf_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/decomposition
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_gradient_boosting.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/histogram.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/splitting.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_binning.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_predictor.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_bitset.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/common.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/feature_extraction/_hashing_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/feature_extraction
copying build/lib.linux-x86_64-cpython-313/sklearn/linear_model/_cd_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/linear_model
copying build/lib.linux-x86_64-cpython-313/sklearn/linear_model/_sgd_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/linear_model
copying build/lib.linux-x86_64-cpython-313/sklearn/linear_model/_sag_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/linear_model
copying build/lib.linux-x86_64-cpython-313/sklearn/manifold/_utils.cpython-313-x86_64-linux-gnu.so -> sklearn/manifold
copying build/lib.linux-x86_64-cpython-313/sklearn/manifold/_barnes_hut_tsne.cpython-313-x86_64-linux-gnu.so -> sklearn/manifold
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_dist_metrics.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/cluster/_expected_mutual_info_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_base.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_argkmin.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_argkmin_classmode.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors_classmode.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/preprocessing/_csr_polynomial_expansion.cpython-313-x86_64-linux-gnu.so -> sklearn/preprocessing
copying build/lib.linux-x86_64-cpython-313/sklearn/preprocessing/_target_encoder_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/preprocessing
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_ball_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_kd_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_partition_nodes.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_quad_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_newrand.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_libsvm.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_liblinear.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_libsvm_sparse.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_splitter.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_criterion.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_utils.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/sparsefuncs_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_cython_blas.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/arrayfuncs.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/murmurhash.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_fast_dict.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_openmp_helpers.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_seq_dataset.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_weight_vector.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_random.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_typedefs.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_heap.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_sorting.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_vector_sentinel.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_isfinite.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
pytest --showlocals -v sklearn --durations=20
ImportError while loading conftest '/workspaces/scikit-learn/sklearn/conftest.py'.
_pytest.pathlib.ImportPathMismatchError: ('sklearn.conftest', '/workspaces/scikit-learn/sklearn-env/lib/python3.13/site-packages/sklearn/conftest.py', PosixPath('/workspaces/scikit-learn/sklearn/conftest.py'))
make: *** [Makefile:29: test-code] Error 4

make test-code-parallel:

python setup.py build_ext -i
Partial import of sklearn during the build process.
/workspaces/scikit-learn/sklearn-env/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:83: SetuptoolsWarning: `install_requires` overwritten in `pyproject.toml` (dependencies)
  corresp(dist, value, root_dir)
running build_ext
running build_clib
building 'libsvm-skl' library
building 'liblinear-skl' library
copying build/lib.linux-x86_64-cpython-313/sklearn/__check_build/_check_build.cpython-313-x86_64-linux-gnu.so -> sklearn/__check_build
copying build/lib.linux-x86_64-cpython-313/sklearn/_isotonic.cpython-313-x86_64-linux-gnu.so -> sklearn
copying build/lib.linux-x86_64-cpython-313/sklearn/_loss/_loss.cpython-313-x86_64-linux-gnu.so -> sklearn/_loss
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_dbscan_inner.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hierarchical_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_common.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_lloyd.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_elkan.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_k_means_minibatch.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hdbscan/_linkage.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster/_hdbscan
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hdbscan/_reachability.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster/_hdbscan
copying build/lib.linux-x86_64-cpython-313/sklearn/cluster/_hdbscan/_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/cluster/_hdbscan
copying build/lib.linux-x86_64-cpython-313/sklearn/datasets/_svmlight_format_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/datasets
copying build/lib.linux-x86_64-cpython-313/sklearn/decomposition/_online_lda_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/decomposition
copying build/lib.linux-x86_64-cpython-313/sklearn/decomposition/_cdnmf_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/decomposition
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_gradient_boosting.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/histogram.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/splitting.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_binning.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_predictor.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/_bitset.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/ensemble/_hist_gradient_boosting/common.cpython-313-x86_64-linux-gnu.so -> sklearn/ensemble/_hist_gradient_boosting
copying build/lib.linux-x86_64-cpython-313/sklearn/feature_extraction/_hashing_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/feature_extraction
copying build/lib.linux-x86_64-cpython-313/sklearn/linear_model/_cd_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/linear_model
copying build/lib.linux-x86_64-cpython-313/sklearn/linear_model/_sgd_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/linear_model
copying build/lib.linux-x86_64-cpython-313/sklearn/linear_model/_sag_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/linear_model
copying build/lib.linux-x86_64-cpython-313/sklearn/manifold/_utils.cpython-313-x86_64-linux-gnu.so -> sklearn/manifold
copying build/lib.linux-x86_64-cpython-313/sklearn/manifold/_barnes_hut_tsne.cpython-313-x86_64-linux-gnu.so -> sklearn/manifold
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_dist_metrics.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/cluster/_expected_mutual_info_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/cluster
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_base.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_argkmin.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_argkmin_classmode.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors_classmode.cpython-313-x86_64-linux-gnu.so -> sklearn/metrics/_pairwise_distances_reduction
copying build/lib.linux-x86_64-cpython-313/sklearn/preprocessing/_csr_polynomial_expansion.cpython-313-x86_64-linux-gnu.so -> sklearn/preprocessing
copying build/lib.linux-x86_64-cpython-313/sklearn/preprocessing/_target_encoder_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/preprocessing
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_ball_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_kd_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_partition_nodes.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/neighbors/_quad_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/neighbors
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_newrand.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_libsvm.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_liblinear.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/svm/_libsvm_sparse.cpython-313-x86_64-linux-gnu.so -> sklearn/svm
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_tree.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_splitter.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_criterion.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/tree/_utils.cpython-313-x86_64-linux-gnu.so -> sklearn/tree
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/sparsefuncs_fast.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_cython_blas.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/arrayfuncs.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/murmurhash.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_fast_dict.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_openmp_helpers.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_seq_dataset.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_weight_vector.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_random.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_typedefs.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_heap.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_sorting.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_vector_sentinel.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
copying build/lib.linux-x86_64-cpython-313/sklearn/utils/_isfinite.cpython-313-x86_64-linux-gnu.so -> sklearn/utils
pytest -n auto --showlocals -v sklearn --durations=20
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: -n sklearn
  inifile: /workspaces/scikit-learn/setup.cfg
  rootdir: /workspaces/scikit-learn

make: *** [Makefile:37: test-code-parallel] Error 4

Versions

System:
    python: 3.13.0b2 (main, Jun  8 2024, 19:41:53) [GCC 9.4.0]
executable: /workspaces/scikit-learn/sklearn-env/bin/python
   machine: Linux-6.5.0-1021-azure-x86_64-with-glibc2.31

Python dependencies:
      sklearn: 1.6.dev0
          pip: 24.0
   setuptools: 70.0.0
        numpy: 2.0.0
        scipy: 1.13.1
       Cython: 3.0.10
       pandas: None
   matplotlib: None
       joblib: 1.4.2
threadpoolctl: 3.5.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 4
         prefix: libopenblas
       filepath: /usr/lib/x86_64-linux-gnu/openblas-openmp/libopenblasp-r0.3.8.so
        version: 0.3.8
threading_layer: openmp
   architecture: Barcelona

       user_api: openmp
   internal_api: openmp
    num_threads: 4
         prefix: libgomp
       filepath: /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
        version: None
@clin1234 clin1234 added Bug Needs Triage Issue requires triage labels Jun 17, 2024
@glemaitre
Copy link
Member

For the parallel case, you get the following error:

pytest -n auto --showlocals -v sklearn --durations=20
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: -n sklearn
  inifile: /workspaces/scikit-learn/setup.cfg
  rootdir: /workspaces/scikit-learn

make: *** [Makefile:37: test-code-parallel] Error 4

Since this is an error by pytest I assume that you did not install pytest-xdist plugin that should recognize the -n option.

@glemaitre
Copy link
Member

Regarding the other error:

pytest --showlocals -v sklearn --durations=20
ImportError while loading conftest '/workspaces/scikit-learn/sklearn/conftest.py'.
_pytest.pathlib.ImportPathMismatchError: ('sklearn.conftest', '/workspaces/scikit-learn/sklearn-env/lib/python3.13/site-packages/sklearn/conftest.py', PosixPath('/workspaces/scikit-learn/sklearn/conftest.py'))
make: *** [Makefile:29: test-code] Error 4

We should try to reproduce it.

@clin1234
Copy link
Author

For the parallel case, you get the following error:

pytest -n auto --showlocals -v sklearn --durations=20
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: -n sklearn
  inifile: /workspaces/scikit-learn/setup.cfg
  rootdir: /workspaces/scikit-learn

make: *** [Makefile:37: test-code-parallel] Error 4

Since this is an error by pytest I assume that you did not install pytest-xdist plugin that should recognize the -n option.

Installed the plugin, now leads to the ImportPathMismatchError

@lesteve
Copy link
Member

lesteve commented Jun 19, 2024

Can you try building with Meson which is our main supported build tool, see https://scikit-learn.org/dev/developers/advanced_installation.html#building-from-source.

Then run the tests with pytest sklearn or something equivalent.

Is there a particular reason you were using python setup.py build_ext -i? The reason I am asking is that I am actually planning to remove setup.py in the not so far future.

Edit: hmmm the question actually becomes: is there any particular reason you are using make test-code? I now realised that make test-code depends on inplace which calls python setup.py build_ext -i ... I would have thought nobody uses make test-code anymore and the Makefile should be cleaned-up.

@clin1234
Copy link
Author

Can you try building with Meson which is our main supported build tool, see https://scikit-learn.org/dev/developers/advanced_installation.html#building-from-source.

Then run the tests with pytest sklearn or something equivalent.

Is there a particular reason you were using python setup.py build_ext -i? The reason I am asking is that I am actually planning to remove setup.py in the not so far future.

Edit: hmmm the question actually becomes: is there any particular reason you are using make test-code? I now realised that make test-code depends on inplace which calls python setup.py build_ext -i ... I would have thought nobody uses make test-code anymore and the Makefile should be cleaned-up.

Building with Meson succeeeds, running pytest yields:
================= 29643 passed, 5315 skipped, 91 xfailed, 50 xpassed, 3853 warnings in 312.31s (0:05:12) ==================

@lesteve
Copy link
Member

lesteve commented Jun 19, 2024

OK great, closing!

Still interested if you had a particularly good reason to use make or make test-code since I am thinking about breaking/changing this a bit ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Needs Triage Issue requires triage
Projects
None yet
Development

No branches or pull requests

3 participants