-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is the proper way to specify min version of setuptools to handle the package. #1004
Comments
Unfortunately no. See #1002. The solution, when available, will be PEP 518 support in pip and other installers. |
Although I haven't been following the pip development (and I really need to try out this functionality), I think the way it works is that in your project which requires a specific version of setuptools, you declare that in the project.toml. So if you need Setuptools 30.3 or later, you have |
Of course, this requirement will demand that your users have this late version of pip installed or that they otherwise prepare the environment in advance to satisfy the requirements that the toml declares. |
Is there a solution for a case when I install everything with setuptools, without pip? |
You could write your own installer, but you'd essentially be replicating what's in pip. It would read the .toml file, determine the build dependencies, resolve, download, build and install them to a temporary location, and then build the target package. It's conceivable that Setuptools could be updated to enforce a minimum version, based on some declaration in the target package, but such a feature doesn't yet exist, so would only work for future releases of Setuptools. Do you have something else in mind? |
What about a case when min version is needed for other command than install? Perhaps future versions of setuptools should try to parse pyproject.toml to check if current version satisfies the requirement. |
With setuptools having releases so often it'd be nice to be able to "require" certain setuptools version in the package.
Is it currently possible via
install_requires
/setup_requires
? Or some other option needs to be added?The text was updated successfully, but these errors were encountered: