Comments (9)
How did you get this error?
from vpip.
;-)
by building my own rpm
https://build.opensuse.org/package/show/home:jayvdb:py-new/python-vpip
from vpip.
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.
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.
I'll recheck this tmr.
from vpip.
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.
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.
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.
Now we don't depend on setuptools. Would you like to try it again?
from vpip.
Related Issues (20)
- Upgraded pip not used HOT 8
- Dependency-less vpip HOT 4
- link_console_script global install tries to write to /usr/bin HOT 6
- Add "update-venv" command HOT 1
- Uninstall sub-dependencies
- Run install_editable after updating a prod dependency
- UnicodeDecodeError while running vpip install -g poetry HOT 1
- Don't run "pip install -e ." when there is no setup.py?
- Don't uninstall a package if it is a subdependency
- Drop pkg_resources
- pip backtrack HOT 1
- Command to update sub dependencies? HOT 1
- Version is not always numbers HOT 1
- Pre-install wheel and setuptools? HOT 2
- Support github repo (and tag or branch?) HOT 2
- The folder getter didn't check if the path is in the path/exists
- Upgrading subdependencies may cause dependency conflicts? HOT 2
- `vpip update` should ignore packages if env marker evaluated to false
- Unpinned pylint errors
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vpip.