GithubHelp home page GithubHelp logo

Comments (9)

eight04 avatar eight04 commented on August 25, 2024

How did you get this error?

from vpip.

jayvdb avatar jayvdb commented on August 25, 2024

;-)

by building my own rpm
https://build.opensuse.org/package/show/home:jayvdb:py-new/python-vpip

from vpip.

eight04 avatar eight04 commented on August 25, 2024

I don't have a Linux machine and I don't know how the rpm is built. sdist and bdist_wheel completes successfully while [email protected] is installed.

I'm not sure why it generates this error while building. Dependencies should only be processed by the library user instead of the author.

from vpip.

jayvdb avatar jayvdb commented on August 25, 2024

This is a sdist+unix problem. setuptools creates a bin wrapper which uses pkg_resources , and pkg_resources checks all the pins of the package it is about to invoke. So when the package says setuptools~=40.7, pkg_resources will refuse to run the bin wrapper when setuptools 41 is installed.

from vpip.

jayvdb avatar jayvdb commented on August 25, 2024

I'll recheck this tmr.

from vpip.

jayvdb avatar jayvdb commented on August 25, 2024

Changing this to setuptools~=41.4 caused me the opposite problem -- I had v41.0.1 installed, which isnt compatible with setuptools~=41.4.

I updated my setuptools and all was good again.

Does one of these fail with lower setuptools versions?

vpip/commands/__init__.py:from pkg_resources import resource_listdir
vpip/dependency.py:from pkg_resources import parse_requirements
vpip/pip_api.py:from pkg_resources import Requirement

I suggest using tox or https://github.com/theacodes/nox , with setuptools as a factor in the matrix, so the test suite runs against a few versions of setuptools to ensure the lowest setuptools version is known and supported (or bumped when required), and the latest setuptools is also tested to ensure ongoing compatibility.

from vpip.

eight04 avatar eight04 commented on August 25, 2024

Does one of these fail with lower setuptools versions?

vpip/commands/__init__.py:from pkg_resources import resource_listdir
vpip/dependency.py:from pkg_resources import parse_requirements
vpip/pip_api.py:from pkg_resources import Requirement

I think they work fine from 40.5: https://github.com/eight04/vpip/blame/b2e64bd98acf85d512694814ced6efab628500f9/setup.cfg#L29

I suggest using tox or https://github.com/theacodes/nox , with setuptools as a factor in the matrix, so the test suite runs against a few versions of setuptools to ensure the lowest setuptools version is known and supported (or bumped when required), and the latest setuptools is also tested to ensure ongoing compatibility.

setuptools is a dependency. If we want to test the compatibility with dependencies, we should test all of them. But it doesn't worth it IMHO.


This is a build issue. We should fix the build process. It could be a bug in setup.py or the build script. But we shouldn't modify the production code.

from vpip.

jayvdb avatar jayvdb commented on August 25, 2024

https://github.com/ninjaaron/fast-entry_points is another solution specifically for the setuptools created entry point script. It removes that use of pkg_resources, so the bin wrapper is like the one created for wheels.

from vpip.

eight04 avatar eight04 commented on August 25, 2024

Now we don't depend on setuptools. Would you like to try it again?

from vpip.

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.