jamesturk / jellyfish

🪼 a python library for doing approximate and phonetic matching of strings.
https://jamesturk.github.io/jellyfish/
MIT License
2.07k stars 159 forks source link

Install fails to build on Python 3.12 #199

Closed Sargeanthost closed 1 year ago

Sargeanthost commented 1 year ago

Trying to install with pip, but I get:

Collecting jellyfish
  Downloading jellyfish-1.0.1.tar.gz (363 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 363.2/363.2 kB 1.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

      Checking for Rust toolchain....
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

I don't think this should happen as I've installed other packages that use Rust, and they seem to build fine.

Python 3.12 pip 23.3.1

a-allard commented 1 year ago

I just hit the same issue. Looking through the commit log for this repo it looks like Python 3.12 only started to be supported in jellyfish 1.0.2 (though the commit log indicates there was some issue and the support for 3.12 was reverted).

Probably better off to stick with python 3.11 for the time being. Jellyfish should install fine there.

Sargeanthost commented 1 year ago

Didn't notice that, will do. I'll leave this open for now so others can see it.

pwbriggs commented 1 year ago

@Sargeanthost @a-allard Yes, it looks like @jamesturk is working on fixing the CI build pipeline to work with Python 3.12 (see #197). Until then, there won't be py312 prebuilt wheels on PyPi.

jamesturk commented 1 year ago

This is now resolved, please let me know if you encounter any issues with 1.0.3