Skip to content

Fix: [SD.Next] CLIP failing to build due to pkg_resources missing (setuptools)#1555

Open
NeuralFault wants to merge 1 commit intoLykosAI:mainfrom
NeuralFault:SDnext-setuptools
Open

Fix: [SD.Next] CLIP failing to build due to pkg_resources missing (setuptools)#1555
NeuralFault wants to merge 1 commit intoLykosAI:mainfrom
NeuralFault:SDnext-setuptools

Conversation

@NeuralFault
Copy link
Contributor

Added PIP_CONSTRAINT hook so pip process used for building CLIP inherits the setuptools constraint in UV_BUILD_CONSTRAINT.

This fixes the issue of building of CLIP failing during install due to missing "pkg_resources" module due to it utilizing the latest version of setuptools which has that module removed.

…it's the setuptools constraint in UV_BUILD_CONSTRAINT.
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @NeuralFault, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a critical build failure for the CLIP component within SD.Next by strategically managing Python package dependencies. It introduces a robust solution to ensure that the correct setuptools version is used during the build process, preventing issues caused by breaking changes in newer setuptools releases. The change enhances the stability and reliability of the installation and update procedures for the affected package.

Highlights

  • Fixes CLIP build failure: Resolved an issue where the CLIP component failed to build during installation due to the absence of the 'pkg_resources' module in newer versions of setuptools.
  • Introduced PIP_CONSTRAINT hook: Implemented a mechanism to apply setuptools version constraints by setting the PIP_CONSTRAINT environment variable, ensuring compatibility during package builds.
  • New helper method for constraints: Added a static method, ApplySetuptoolsConstraints, to encapsulate the logic for setting the PIP_CONSTRAINT environment variable, improving code organization and reusability.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • StabilityMatrix.Core/Models/Packages/VladAutomatic.cs
    • Introduced a call to ApplySetuptoolsConstraints within the InstallPackage method to enforce setuptools version constraints.
    • Integrated a call to ApplySetuptoolsConstraints into the Update method to ensure consistent constraint application during updates.
    • Defined a new static method, ApplySetuptoolsConstraints, which sets the PIP_CONSTRAINT environment variable using a path to uv-build-constraints.txt.
Activity
  • No human activity has been recorded on this pull request since its creation.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request addresses a critical build failure in SD.Next related to pkg_resources by introducing a PIP_CONSTRAINT hook. The changes correctly apply setuptools constraints during package installation and updates, ensuring compatibility with newer setuptools versions. The new ApplySetuptoolsConstraints method centralizes this logic, which is a good practice for maintainability. Overall, the changes are well-implemented and directly resolve the reported issue.

@NeuralFault
Copy link
Contributor Author

DO NOT MERGE YET, new issue found

"Import: setuptools No module named 'distutils'"

when launching

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments