Giter Club home page Giter Club logo

Comments (10)

r9y9 avatar r9y9 commented on May 31, 2024 1

I know pyworld (https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder/blob/823e9bda5f2b5bc4e10e2ff44534aa87073250cb/setup.py#L25-L31) avoids the numpy build-time dependency in a tricky way. I'm not sure if it really works or not, but I will look into it.

EDIT: Sorry for the late reply.

from pysptk.

r9y9 avatar r9y9 commented on May 31, 2024

Hi, thank you for the suggestion. That sounds good to me. Could you send a PR for it?

from pysptk.

lorenzocestaro avatar lorenzocestaro commented on May 31, 2024

Sure, I'll get to work

from pysptk.

lorenzocestaro avatar lorenzocestaro commented on May 31, 2024

Ok, so I looked into this and it appears that setup_requires is incompatible with pip right now and the problem of the missing numpy installation is unavoidable when building from source.
See also this discussion for the exact same issue on scikit-learn.

What is avoidable, though, is having end users being unable to install the package if they do not have numpy in their environment. This can be fixed by publishing a wheel instead of a source bundle (or both) when releasing new versions:

  • python setup.py sdist forces end users to build from source and raises an error if numpy is missing.
  • python setup.py bdist_wheel will produce a pip wheel that takes care of installing all dependencies under install_requires and wil not produce errors for end users when pip install pysptk is run.

You can build and upload to pypi both of them with python setup.py sdist bdist_wheel.

Hope I've been clear.

from pysptk.

r9y9 avatar r9y9 commented on May 31, 2024

I used to provide wheels for earlier releases (e.g., see https://pypi.org/project/pysptk/0.1.3/#files), but as far as I remember correctly there's a binary compatibility issue(s) for linux and also I didn't want to create wheels for each python/os environments, so I end up with the source distribution. I hope there's a clean and simple solution to this.

from pysptk.

lorenzocestaro avatar lorenzocestaro commented on May 31, 2024

If that's the case then I am afraid there is no seamless solution. Everyone who needs to install the package will need to have numpy already installed in their environment.

Thanks @r9y9

from pysptk.

r9y9 avatar r9y9 commented on May 31, 2024

I've tagged a new release v0.1.15. I believe this should fix the issue. For double-check, @lorenzocestaro Could you please confirm if it works?

from pysptk.

lorenzocestaro avatar lorenzocestaro commented on May 31, 2024

@r9y9 installation work seamlessly now. Thank you very much!

Unfortunately this new version breaks my tests, I will look into that to see if it is a problem on my side.

from pysptk.

r9y9 avatar r9y9 commented on May 31, 2024

Thanks! If you provide me code to reproduce the test failures, I can take a look. Let me know if you need a help.

from pysptk.

r9y9 avatar r9y9 commented on May 31, 2024

I'm closing this out. Feel free to reopen if the problem persists.

from pysptk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.