Skip to content
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

[BUG] installation error in python 3.9.1 - missing Python.h #288

Open
filipponeri opened this issue Jan 1, 2021 · 3 comments
Open

[BUG] installation error in python 3.9.1 - missing Python.h #288

filipponeri opened this issue Jan 1, 2021 · 3 comments

Comments

@filipponeri
Copy link

Describe the bug
failure to install scikit-multiflow using the command

pip install scikit-multiflow running on UBUNTU 20.04.1 LTS and python 3.9.1

Error log:
From the error log it seems that an include file #include "Python.h" cannot be found

compile options: '-I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/usr/include/python3.9 -c'
x86_64-linux-gnu-g++: src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp
src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp:1:10: fatal error: Python.h: No such file or directory
1 | #include "Python.h"
| ^~~~~~~~~~
compilation terminated.

To Reproduce
pip install scikit-multiflow

running UBUNTU 20.04.1 LTS and python 3.9.1

Expected behavior
correct installation procedure

Screenshots
screenshots can be found at
https://drive.google.com/drive/folders/1AvwUJZyEQ5GLTmL3lrQo47WnxuuqYv-Q?usp=sharing

Additional context
here is the log in text format
neri@neri-dell:~$ pip install scikit-multiflow
Collecting scikit-multiflow
Using cached scikit-multiflow-0.5.3.tar.gz (450 kB)
Requirement already satisfied: matplotlib>=2.0.0 in ./.local/lib/python3.9/site-packages (from scikit-multiflow) (3.3.3)
Requirement already satisfied: numpy>=1.14.0 in ./.local/lib/python3.9/site-packages (from scikit-multiflow) (1.19.4)
Requirement already satisfied: pandas>=0.25.3 in ./.local/lib/python3.9/site-packages (from scikit-multiflow) (1.2.0)
Requirement already satisfied: scikit-learn>=0.20 in ./.local/lib/python3.9/site-packages (from scikit-multiflow) (0.24.0)
Requirement already satisfied: scipy>=1.0.0 in ./.local/lib/python3.9/site-packages (from scikit-multiflow) (1.6.0)
Requirement already satisfied: sortedcontainers>=1.5.7 in ./.local/lib/python3.9/site-packages (from scikit-multiflow) (2.3.0)
Requirement already satisfied: pillow>=6.2.0 in ./.local/lib/python3.9/site-packages (from matplotlib>=2.0.0->scikit-multiflow) (8.0.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in ./.local/lib/python3.9/site-packages (from matplotlib>=2.0.0->scikit-multiflow) (2.4.7)
Requirement already satisfied: python-dateutil>=2.1 in /usr/lib/python3/dist-packages (from matplotlib>=2.0.0->scikit-multiflow) (2.7.3)
Requirement already satisfied: kiwisolver>=1.0.1 in ./.local/lib/python3.9/site-packages (from matplotlib>=2.0.0->scikit-multiflow) (1.3.1)
Requirement already satisfied: cycler>=0.10 in ./.local/lib/python3.9/site-packages (from matplotlib>=2.0.0->scikit-multiflow) (0.10.0)
Requirement already satisfied: pytz>=2017.3 in /usr/lib/python3/dist-packages (from pandas>=0.25.3->scikit-multiflow) (2019.3)
Requirement already satisfied: joblib>=0.11 in ./.local/lib/python3.9/site-packages (from scikit-learn>=0.20->scikit-multiflow) (1.0.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in ./.local/lib/python3.9/site-packages (from scikit-learn>=0.20->scikit-multiflow) (2.1.0)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from cycler>=0.10->matplotlib>=2.0.0->scikit-multiflow) (1.14.0)
Building wheels for collected packages: scikit-multiflow
Building wheel for scikit-multiflow (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-oabdttw2/scikit-multiflow/setup.py'"'"'; file='"'"'/tmp/pip-install-oabdttw2/scikit-multiflow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-o7gudek1
cwd: /tmp/pip-install-oabdttw2/scikit-multiflow/
Complete output (249 lines):
running bdist_wheel
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "skmultiflow.lazy.libNearestNeighbor" sources
building extension "skmultiflow.metrics._confusion_matrix" sources
building extension "skmultiflow.metrics._classification_performance_evaluator" sources
build_src: building npy-pkg config files
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/skmultiflow
copying src/skmultiflow/init.py -> build/lib.linux-x86_64-3.9/skmultiflow
copying src/skmultiflow/_version.py -> build/lib.linux-x86_64-3.9/skmultiflow
copying src/skmultiflow/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow
creating build/lib.linux-x86_64-3.9/skmultiflow/anomaly_detection
copying src/skmultiflow/anomaly_detection/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/anomaly_detection
copying src/skmultiflow/anomaly_detection/half_space_trees.py -> build/lib.linux-x86_64-3.9/skmultiflow/anomaly_detection
creating build/lib.linux-x86_64-3.9/skmultiflow/bayes
copying src/skmultiflow/bayes/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/bayes
copying src/skmultiflow/bayes/utils.py -> build/lib.linux-x86_64-3.9/skmultiflow/bayes
copying src/skmultiflow/bayes/naive_bayes.py -> build/lib.linux-x86_64-3.9/skmultiflow/bayes
creating build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/instance_header.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/pipeline.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/base.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
creating build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/mixed_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/file_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/hyper_plane_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/sea_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/temporal_data_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/led_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/concept_drift_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/regression_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/time_manager.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/multilabel_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/waveform_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/stagger_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/random_rbf_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/random_rbf_generator_drift.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/sine_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/agrawal_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/random_tree_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/base_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/unsupervised_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/pseudo_random_processes.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/led_generator_drift.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/synth.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/data_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/anomaly_sine_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
creating build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/kswin.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/base_drift_detector.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/page_hinkley.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/adwin.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/ddm.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/hddm_w.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/hddm_a.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/eddm.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
creating build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_prequential_delayed.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_stream_gen_speed.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/base_evaluator.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_prequential.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluation_data_buffer.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_holdout.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
creating build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_under_over_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/accuracy_weighted_ensemble.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/adaptive_random_forests.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_smote_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/adaptive_random_forest_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/dynamic_weighted_majority.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/oza_bagging_adwin.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/learn_nse.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/multi_output_learner.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/oza_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/learn_pp.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_csb2.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_rus_boost.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/regressor_chains.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_adac2.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/streaming_random_patches.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_boosting.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/additive_expert_ensemble.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/classifier_chains.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/batch_incremental.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/leverage_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
creating build/lib.linux-x86_64-3.9/skmultiflow/neural_networks
copying src/skmultiflow/neural_networks/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/neural_networks
copying src/skmultiflow/neural_networks/perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/neural_networks
creating build/lib.linux-x86_64-3.9/skmultiflow/prototype
copying src/skmultiflow/prototype/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/prototype
copying src/skmultiflow/prototype/robust_soft_learning_vector_quantization.py -> build/lib.linux-x86_64-3.9/skmultiflow/prototype
creating build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/hellinger_distance_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/foil_gain_rule_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/info_gain_rule_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/attribute_expand_suggestion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/nominal_attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/very_fast_decision_rules.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/numeric_attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/base_rule.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/base_predicate.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
creating build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/base_transform.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/one_hot_to_categorical.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/missing_values_cleaner.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/windowed_standard_scaler.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/windowed_minmax_scaler.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
creating build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_adaptive_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/arf_hoeffding_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/attribute_split_suggestion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/stacked_single_target_hoeffding_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/extremely_fast_decision_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/gaussian_estimator.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_adaptive_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/arf_hoeffding_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/isoup_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/label_combination_hoeffding_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/numeric_attribute_class_observer_binary_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/nominal_attribute_regression_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/numeric_attribute_class_observer_gaussian.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/nominal_attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/numeric_attribute_regression_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/attribute_class_observer_null.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/numeric_attribute_binary_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/nominal_attribute_binary_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/nominal_attribute_multiway_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/instance_conditional_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_split_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_for_regression_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_perceptron_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_adaptive_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_adaptive_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_learning_node_nba.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_split_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_classification.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_active_learning_node_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_split_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/split_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_nb_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_perceptron_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/found_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_learning_node_nb_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/learning_node_nb_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_inactive_learning_node_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/base_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/hellinger_distance_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/gini_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/variance_reduction_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/info_gain_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/intra_cluster_variance_reduction_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
creating build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/data_structures.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/_show_versions.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/statistics.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/file_scripts.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/validation.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/_pprint.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/utils.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/constants.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
creating build/lib.linux-x86_64-3.9/skmultiflow/visualization
copying src/skmultiflow/visualization/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/visualization
copying src/skmultiflow/visualization/evaluation_visualizer.py -> build/lib.linux-x86_64-3.9/skmultiflow/visualization
copying src/skmultiflow/visualization/base_listener.py -> build/lib.linux-x86_64-3.9/skmultiflow/visualization
creating build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/base_neighbors.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/knn_classifier.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/knn_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/knn_adwin.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/sam_knn.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
creating build/lib.linux-x86_64-3.9/skmultiflow/metrics
copying src/skmultiflow/metrics/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/metrics
copying src/skmultiflow/metrics/measure_collection.py -> build/lib.linux-x86_64-3.9/skmultiflow/metrics
copying src/skmultiflow/metrics/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow/metrics
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'skmultiflow.lazy.libNearestNeighbor' extension
compiling C++ sources
C compiler: x86_64-linux-gnu-g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC

creating build/temp.linux-x86_64-3.9/src
creating build/temp.linux-x86_64-3.9/src/skmultiflow
creating build/temp.linux-x86_64-3.9/src/skmultiflow/lazy
creating build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src
creating build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src/libNearestNeighbors
compile options: '-I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/usr/include/python3.9 -c'
x86_64-linux-gnu-g++: src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp
src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp:1:10: fatal error: Python.h: No such file or directory
1 | #include "Python.h"
| ^~~~~~~~~~
compilation terminated.
error: Command "x86_64-linux-gnu-g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/usr/include/python3.9 -c src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp -o build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.o -MMD -MF build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.o.d" failed with exit status 1

ERROR: Failed building wheel for scikit-multiflow
Running setup.py clean for scikit-multiflow
Failed to build scikit-multiflow
Installing collected packages: scikit-multiflow
Running setup.py install for scikit-multiflow ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-oabdttw2/scikit-multiflow/setup.py'"'"'; file='"'"'/tmp/pip-install-oabdttw2/scikit-multiflow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-7185o5dc/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/neri/.local/include/python3.9/scikit-multiflow
cwd: /tmp/pip-install-oabdttw2/scikit-multiflow/
Complete output (249 lines):
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "skmultiflow.lazy.libNearestNeighbor" sources
building extension "skmultiflow.metrics._confusion_matrix" sources
building extension "skmultiflow.metrics._classification_performance_evaluator" sources
build_src: building npy-pkg config files
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/skmultiflow
copying src/skmultiflow/init.py -> build/lib.linux-x86_64-3.9/skmultiflow
copying src/skmultiflow/_version.py -> build/lib.linux-x86_64-3.9/skmultiflow
copying src/skmultiflow/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow
creating build/lib.linux-x86_64-3.9/skmultiflow/anomaly_detection
copying src/skmultiflow/anomaly_detection/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/anomaly_detection
copying src/skmultiflow/anomaly_detection/half_space_trees.py -> build/lib.linux-x86_64-3.9/skmultiflow/anomaly_detection
creating build/lib.linux-x86_64-3.9/skmultiflow/bayes
copying src/skmultiflow/bayes/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/bayes
copying src/skmultiflow/bayes/utils.py -> build/lib.linux-x86_64-3.9/skmultiflow/bayes
copying src/skmultiflow/bayes/naive_bayes.py -> build/lib.linux-x86_64-3.9/skmultiflow/bayes
creating build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/instance_header.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/pipeline.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
copying src/skmultiflow/core/base.py -> build/lib.linux-x86_64-3.9/skmultiflow/core
creating build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/mixed_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/file_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/hyper_plane_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/sea_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/temporal_data_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/led_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/concept_drift_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/regression_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/time_manager.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/multilabel_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/waveform_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/stagger_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/random_rbf_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/random_rbf_generator_drift.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/sine_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/agrawal_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/random_tree_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/base_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/unsupervised_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/pseudo_random_processes.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/led_generator_drift.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/synth.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/data_stream.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
copying src/skmultiflow/data/anomaly_sine_generator.py -> build/lib.linux-x86_64-3.9/skmultiflow/data
creating build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/kswin.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/base_drift_detector.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/page_hinkley.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/adwin.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/ddm.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/hddm_w.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/hddm_a.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
copying src/skmultiflow/drift_detection/eddm.py -> build/lib.linux-x86_64-3.9/skmultiflow/drift_detection
creating build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_prequential_delayed.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_stream_gen_speed.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/base_evaluator.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_prequential.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluation_data_buffer.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
copying src/skmultiflow/evaluation/evaluate_holdout.py -> build/lib.linux-x86_64-3.9/skmultiflow/evaluation
creating build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_under_over_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/accuracy_weighted_ensemble.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/adaptive_random_forests.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_smote_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/adaptive_random_forest_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/dynamic_weighted_majority.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/oza_bagging_adwin.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/learn_nse.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/multi_output_learner.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/oza_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/learn_pp.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_csb2.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_rus_boost.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/regressor_chains.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_adac2.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/streaming_random_patches.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/online_boosting.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/additive_expert_ensemble.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/classifier_chains.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/batch_incremental.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
copying src/skmultiflow/meta/leverage_bagging.py -> build/lib.linux-x86_64-3.9/skmultiflow/meta
creating build/lib.linux-x86_64-3.9/skmultiflow/neural_networks
copying src/skmultiflow/neural_networks/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/neural_networks
copying src/skmultiflow/neural_networks/perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/neural_networks
creating build/lib.linux-x86_64-3.9/skmultiflow/prototype
copying src/skmultiflow/prototype/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/prototype
copying src/skmultiflow/prototype/robust_soft_learning_vector_quantization.py -> build/lib.linux-x86_64-3.9/skmultiflow/prototype
creating build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/hellinger_distance_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/foil_gain_rule_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/info_gain_rule_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/attribute_expand_suggestion.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/nominal_attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/very_fast_decision_rules.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/numeric_attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/base_rule.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
copying src/skmultiflow/rules/base_predicate.py -> build/lib.linux-x86_64-3.9/skmultiflow/rules
creating build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/base_transform.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/one_hot_to_categorical.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/missing_values_cleaner.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/windowed_standard_scaler.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
copying src/skmultiflow/transform/windowed_minmax_scaler.py -> build/lib.linux-x86_64-3.9/skmultiflow/transform
creating build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_adaptive_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/arf_hoeffding_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/attribute_split_suggestion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/stacked_single_target_hoeffding_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/extremely_fast_decision_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/gaussian_estimator.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_adaptive_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/arf_hoeffding_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/isoup_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/label_combination_hoeffding_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
copying src/skmultiflow/trees/hoeffding_tree_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/numeric_attribute_class_observer_binary_tree.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/nominal_attribute_regression_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/numeric_attribute_class_observer_gaussian.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/nominal_attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/attribute_class_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/numeric_attribute_regression_observer.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
copying src/skmultiflow/trees/attribute_observer/attribute_class_observer_null.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_observer
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/numeric_attribute_binary_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/nominal_attribute_binary_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/nominal_attribute_multiway_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
copying src/skmultiflow/trees/attribute_test/instance_conditional_test.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/attribute_test
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_split_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_for_regression_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_perceptron_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_adaptive_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_adaptive_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_learning_node_nba.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_split_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_classification.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_active_learning_node_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_split_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/split_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/lc_learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_nb_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/active_learning_node_perceptron_multi_target.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_active_learning_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/found_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/ada_node.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_learning_node_nb_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/learning_node_nb_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_for_regression.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/random_learning_node_perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/inactive_learning_node_perceptron.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/anytime_learning_node_nb.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
copying src/skmultiflow/trees/nodes/sst_inactive_learning_node_adaptive.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/nodes
creating build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/base_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/hellinger_distance_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/gini_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/variance_reduction_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/info_gain_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
copying src/skmultiflow/trees/split_criterion/intra_cluster_variance_reduction_split_criterion.py -> build/lib.linux-x86_64-3.9/skmultiflow/trees/split_criterion
creating build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/data_structures.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/_show_versions.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/statistics.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/file_scripts.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/validation.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/_pprint.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/utils.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
copying src/skmultiflow/utils/constants.py -> build/lib.linux-x86_64-3.9/skmultiflow/utils
creating build/lib.linux-x86_64-3.9/skmultiflow/visualization
copying src/skmultiflow/visualization/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/visualization
copying src/skmultiflow/visualization/evaluation_visualizer.py -> build/lib.linux-x86_64-3.9/skmultiflow/visualization
copying src/skmultiflow/visualization/base_listener.py -> build/lib.linux-x86_64-3.9/skmultiflow/visualization
creating build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/base_neighbors.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/knn_classifier.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/knn_regressor.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/knn_adwin.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/sam_knn.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
copying src/skmultiflow/lazy/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow/lazy
creating build/lib.linux-x86_64-3.9/skmultiflow/metrics
copying src/skmultiflow/metrics/init.py -> build/lib.linux-x86_64-3.9/skmultiflow/metrics
copying src/skmultiflow/metrics/measure_collection.py -> build/lib.linux-x86_64-3.9/skmultiflow/metrics
copying src/skmultiflow/metrics/setup.py -> build/lib.linux-x86_64-3.9/skmultiflow/metrics
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
building 'skmultiflow.lazy.libNearestNeighbor' extension
compiling C++ sources
C compiler: x86_64-linux-gnu-g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC

creating build/temp.linux-x86_64-3.9/src
creating build/temp.linux-x86_64-3.9/src/skmultiflow
creating build/temp.linux-x86_64-3.9/src/skmultiflow/lazy
creating build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src
creating build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src/libNearestNeighbors
compile options: '-I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/usr/include/python3.9 -c'
x86_64-linux-gnu-g++: src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp
src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp:1:10: fatal error: Python.h: No such file or directory
    1 | #include "Python.h"
      |          ^~~~~~~~~~
compilation terminated.
error: Command "x86_64-linux-gnu-g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/home/neri/.local/lib/python3.9/site-packages/numpy/core/include -I/usr/include/python3.9 -c src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.cpp -o build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.o -MMD -MF build/temp.linux-x86_64-3.9/src/skmultiflow/lazy/src/libNearestNeighbors/nearestNeighbor.o.d" failed with exit status 1
----------------------------------------

ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-oabdttw2/scikit-multiflow/setup.py'"'"'; file='"'"'/tmp/pip-install-oabdttw2/scikit-multiflow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-7185o5dc/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/neri/.local/include/python3.9/scikit-multiflow Check the logs for full command output.
neri@neri-dell:~$

@filipponeri
Copy link
Author

I wish to thank all the contributors to scikit-multiflow for their amazing work!

@filipponeri
Copy link
Author

I would like to add that when installing and running on Python 3.8.5 no installation error is detected

@mkinney-mitre
Copy link

On Ubuntu 22.04 and python3.10 doing
apt-get install python3-dev
worked for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants