anhaidgroup / py_stringmatching

A comprehensive and scalable set of string tokenizers and similarity measures in Python
https://sites.google.com/site/anhaidgroup/projects/py_stringmatching
BSD 3-Clause "New" or "Revised" License
135 stars 16 forks source link

Installation crashed for python 3.9 due to numpy #101

Closed Nikoletos-K closed 4 days ago

Nikoletos-K commented 4 weeks ago

Hello, I am trying to install this package in this environment:

and I get this error:

~ ❯ pip install py_stringmatching                                                                                                                 
Collecting py_stringmatching
  Downloading py-stringmatching-0.4.5.tar.gz (849 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 849.5/849.5 kB 6.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting numpy>=1.7.0 (from py_stringmatching)
  Downloading numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.9/60.9 kB 71.5 MB/s eta 0:00:00
Downloading numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.3/19.3 MB 70.3 MB/s eta 0:00:00
Building wheels for collected packages: py_stringmatching
  Building wheel for py_stringmatching (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [94 lines of output]
      /home/nikoletos/.conda/envs/pyjedai39/lib/python3.9/site-packages/setuptools/__init__.py:81: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!

              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************

      !!
        dist.fetch_build_eggs(dist.setup_requires)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-39
      creating build/lib.linux-x86_64-cpython-39/py_stringmatching
      copying py_stringmatching/utils.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching
      copying py_stringmatching/__init__.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching
      creating build/lib.linux-x86_64-cpython-39/py_stringmatching/tests
      copying py_stringmatching/tests/test_sim_Soundex.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tests
      copying py_stringmatching/tests/test_tokenizers.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tests
      copying py_stringmatching/tests/test_simfunctions.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tests
      copying py_stringmatching/tests/utils.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tests
      copying py_stringmatching/tests/__init__.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tests
      creating build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/ratio.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/soundex.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/editex.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/jaro_winkler.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/partial_token_sort.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/soft_tfidf.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/hamming_distance.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/tversky_index.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/phonetic_similarity_measure.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/overlap_coefficient.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/smith_waterman.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/affine.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/cosine.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/sequence_similarity_measure.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/partial_ratio.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/levenshtein.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/needleman_wunsch.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/jaccard.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/jaro.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/dice.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/token_sort.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/token_similarity_measure.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/similarity_measure.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/generalized_jaccard.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/hybrid_similarity_measure.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/__init__.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/tfidf.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/bag_distance.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/monge_elkan.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      creating build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/definition_tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/qgram_tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/alphanumeric_tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/whitespace_tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/alphabetic_tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/delimiter_tokenizer.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/__init__.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/tokenizer
      creating build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/__init__.py -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      running egg_info
      writing py_stringmatching.egg-info/PKG-INFO
      writing dependency_links to py_stringmatching.egg-info/dependency_links.txt
      writing requirements to py_stringmatching.egg-info/requires.txt
      writing top-level names to py_stringmatching.egg-info/top_level.txt
      reading manifest file 'py_stringmatching.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching 'requirements.txt'
      adding license file 'LICENSE'
      writing manifest file 'py_stringmatching.egg-info/SOURCES.txt'
      copying py_stringmatching/similarity_measure/cython/cython_affine.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_jaro.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_jaro_winkler.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_levenshtein.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_needleman_wunsch.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_smith_waterman.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_utils.c -> build/lib.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      running build_ext
      building 'py_stringmatching.similarity_measure.cython.cython_levenshtein' extension
      creating build/temp.linux-x86_64-cpython-39
      creating build/temp.linux-x86_64-cpython-39/py_stringmatching
      creating build/temp.linux-x86_64-cpython-39/py_stringmatching/similarity_measure
      creating build/temp.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython
      gcc -pthread -B /home/nikoletos/.conda/envs/pyjedai39/compiler_compat -Wl,--sysroot=/ -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/nikoletos/.conda/envs/pyjedai39/include -fPIC -O2 -isystem /home/nikoletos/.conda/envs/pyjedai39/include -fPIC -I/tmp/pip-install-jrblljcn/py-stringmatching_95bff3da063b47e58ee3bd43c8f216b2/.eggs/numpy-2.0.0-py3.9-linux-x86_64.egg/numpy/core/include -I/home/nikoletos/.conda/envs/pyjedai39/include/python3.9 -c py_stringmatching/similarity_measure/cython/cython_levenshtein.c -o build/temp.linux-x86_64-cpython-39/py_stringmatching/similarity_measure/cython/cython_levenshtein.o
      py_stringmatching/similarity_measure/cython/cython_levenshtein.c:1205:10: fatal error: numpy/arrayobject.h: No such file or directory
       1205 | #include "numpy/arrayobject.h"
            |          ^~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for py_stringmatching
  Running setup.py clean for py_stringmatching
Failed to build py_stringmatching
ERROR: Could not build wheels for py_stringmatching, which is required to install pyproject.toml-based projects
RoopeHakulinen commented 4 weeks ago

We started experiencing the same issue sometime during the past two weeks with 0.4.3, and upgrading to 0.4.5 doesn't fix it (as is the case for the author of this issue).

On the last successful run on June 4th the logs say:

Collecting py-stringmatching==0.4.3 (from -r requirements/requirements.txt (line 16))
  Downloading py_stringmatching-0.4.3.tar.gz (643 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 643.8/643.8 kB 49.5 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'

where as now the following happens:

Building wheels for collected packages: openai-whisper, py-stringmatching, whisperx, docopt, pyannote.audio, antlr4-python3-runtime, julius
  Building wheel for openai-whisper (pyproject.toml): started
  Building wheel for openai-whisper (pyproject.toml): finished with status 'done'
  Created wheel for openai-whisper: filename=openai_whisper-20230314-py3-none-any.whl size=796907 sha256=ab537d294ba49a860cef2de051c2614a182711d771ee594ff42edfe31aa189e4
  Stored in directory: /home/runner/.cache/pip/wheels/b2/13/5f/fe8245f6dc59df505879da4b2129932e342f02a80e6b87f27d
  Building wheel for py-stringmatching (pyproject.toml): started
  Building wheel for py-stringmatching (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Building wheel for py-stringmatching (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [85 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-310
      creating build/lib.linux-x86_64-cpython-310/py_stringmatching
      copying py_stringmatching/__init__.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching
      copying py_stringmatching/utils.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching
      creating build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/__init__.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/qgram_tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/whitespace_tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/definition_tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/delimiter_tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/alphanumeric_tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      copying py_stringmatching/tokenizer/alphabetic_tokenizer.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tokenizer
      creating build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/generalized_jaccard.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/__init__.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/phonetic_similarity_measure.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/editex.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/token_sort.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/jaro.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/partial_token_sort.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/monge_elkan.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/token_similarity_measure.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/hybrid_similarity_measure.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/overlap_coefficient.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/soundex.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/soft_tfidf.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/levenshtein.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/jaro_winkler.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/tfidf.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/tversky_index.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/needleman_wunsch.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/hamming_distance.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/ratio.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/affine.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/similarity_measure.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/dice.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/bag_distance.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/cosine.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/jaccard.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/partial_ratio.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/sequence_similarity_measure.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      copying py_stringmatching/similarity_measure/smith_waterman.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      creating build/lib.linux-x86_64-cpython-310/py_stringmatching/tests
      copying py_stringmatching/tests/__init__.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tests
      copying py_stringmatching/tests/test_sim_Soundex.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tests
      copying py_stringmatching/tests/test_tokenizers.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tests
      copying py_stringmatching/tests/utils.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tests
      copying py_stringmatching/tests/test_simfunctions.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/tests
      creating build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/__init__.py -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      running egg_info
      writing py_stringmatching.egg-info/PKG-INFO
      writing dependency_links to py_stringmatching.egg-info/dependency_links.txt
      writing requirements to py_stringmatching.egg-info/requires.txt
      writing top-level names to py_stringmatching.egg-info/top_level.txt
      reading manifest file 'py_stringmatching.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching 'requirements.txt'
      adding license file 'LICENSE'
      writing manifest file 'py_stringmatching.egg-info/SOURCES.txt'
      copying py_stringmatching/similarity_measure/cython/cython_affine.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_jaro.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_jaro_winkler.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_levenshtein.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_needleman_wunsch.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_smith_waterman.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      copying py_stringmatching/similarity_measure/cython/cython_utils.c -> build/lib.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      running build_ext
      <string>:32: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      building 'py_stringmatching.similarity_measure.cython.cython_levenshtein' extension
      creating build/temp.linux-x86_64-cpython-310
      creating build/temp.linux-x86_64-cpython-310/py_stringmatching
      creating build/temp.linux-x86_64-cpython-310/py_stringmatching/similarity_measure
      creating build/temp.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-bjulqs5x/normal/lib/python3.10/site-packages/numpy/core/include -I/opt/hostedtoolcache/Python/3.10.12/x64/include/python3.10 -c py_stringmatching/similarity_measure/cython/cython_levenshtein.c -o build/temp.linux-x86_64-cpython-310/py_stringmatching/similarity_measure/cython/cython_levenshtein.o
      py_stringmatching/similarity_measure/cython/cython_levenshtein.c:1205:10: fatal error: numpy/arrayobject.h: No such file or directory
       1205 | #include "numpy/arrayobject.h"
            |          ^~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for py-stringmatching
RoopeHakulinen commented 4 weeks ago

100 looks to be fixing this.

Nikoletos-K commented 4 weeks ago

Yeah this works. However I hope to new release soon, having this dependency correct.

Thank you @RoopeHakulinen! Saved me a lot of time.

RoopeHakulinen commented 4 weeks ago

Silly question but how did you try it out? By setting that repo & commit as the library reference perhaps?

Nikoletos-K commented 4 weeks ago

No unfortunately I couldn't do this in my setting. What I did, it was to first install numpy

pip install numpy==1.26.4

and then

pip install py_stringmatching==0.4.5

This way it gets the pre-installed numpy package, so py_stringmatching is finally installed.

Nikoletos-K commented 4 weeks ago

You can also do this: pip install numpy>=1.7.0,<2.0' instead of a specific numpy version.

RoopeHakulinen commented 4 weeks ago

Thanks a lot. I'll give that a go.

Anson-Doan commented 4 days ago

It looks like cython hasn't been updated for compatibility with numpy 2.0 yet. I've released a new minor version incorporating https://github.com/anhaidgroup/py_stringmatching/pull/100; this should work as a temporary fix until all dependencies have been updated. Thank you for bringing this to my attention.