Code Monkey home page Code Monkey logo

Comments (8)

ocefpaf avatar ocefpaf commented on September 25, 2024 1

I really do think it could be as simple as removing cython from install_requires in setup.py but keeping it in setup_requires. I don't think it's a problem that cython a build/setup requirement, it just shouldn't be an install requirement. Maybe I'm missing something about how setup.py works...

You are correct and that is exactly what #62 does 😄

from cftime.

ocefpaf avatar ocefpaf commented on September 25, 2024

@xylar the conda-recipe here is only for Windows testing and I'm inclined to remove that altogether and use a bare bones AppVeoyr config. BTW, that is an issue with the recipe here and not cftime. (Due to its use of python setup.py install rather than pip.)

TL;DR you should use cftime from conda-forge if you need a conda package for that and not this recipe.

from cftime.

xylar avatar xylar commented on September 25, 2024

@ocefpaf, thank you very much for the reply.

I think I am, indeed, using cftime from conda-forge. As with the recipe that you are removing here, cython is not included as a dependency (which I think is correct). The problem seems to remain that pkg_resources is somehow picking up the list of dependencies passed to setup.py rather than the one that is included in the conda-forge recipe, meaning that it raises this erroneous DistributionNotFound exception.

Have you seen this kind of thing anywhere in the past?

@czender and colleagues saw exactly the same error at least once before. I'm not sure how they managed to resolve it:
jaws/jaws#115

from cftime.

ocefpaf avatar ocefpaf commented on September 25, 2024

I think I am, indeed, using cftime from conda-forge

OK. Let's move this discussion to the feedstock then. I'll check that in a moment...

from cftime.

xylar avatar xylar commented on September 25, 2024

@ocefpaf, I'm happy to move this over to cftime-feedstock if you're quite sure the problem is on the conda-forge side. I still think the problem is most likely to be introduced in setup.py (regardless of whether pip is used or not). If I do a grep on an environment where cftime has been installed from conda-forge, I see:

$ cat lib/python3.6/site-packages/cftime-1.0.0-py3.6.egg-info/requires.txt
numpy
cython
setuptools>=18.0

These requirements come directly from requirements.txt in this repo and are parsed in setup.py. I have spent a bit over an hour trying to understand the intricacies of how pkg_resources parses requirements to no avail but I suspect it must be pulling information from the file above.

from cftime.

ocefpaf avatar ocefpaf commented on September 25, 2024

I thought that, in conda-forge we where not cythinizing, and then we would not need it. But yes, you are correct. Sorry for the noise.

have spent a bit over an hour trying to understand the intricacies of how pkg_resources

pkg_resources is terrible, let me dig into this, we can probably be smarter on how we generate the cythonized files without introducing it as a dependency.

from cftime.

xylar avatar xylar commented on September 25, 2024

Thanks again for looking at this!

I really do think it could be as simple as removing cython from install_requires in setup.py but keeping it in setup_requires. I don't think it's a problem that cython a build/setup requirement, it just shouldn't be an install requirement. Maybe I'm missing something about how setup.py works...

from cftime.

xylar avatar xylar commented on September 25, 2024

Excellent! Thanks very much for taking care of this!

from cftime.

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.