Fix two separate build and installation errors I ran into on my macOS Sequoia 15.7.5.#1
Open
cbuchner1 wants to merge 2 commits into
Open
Fix two separate build and installation errors I ran into on my macOS Sequoia 15.7.5.#1cbuchner1 wants to merge 2 commits into
cbuchner1 wants to merge 2 commits into
Conversation
fixes setuptools.errors.InvalidConfigError: License classifiers have been superseded by license expressions
Refactor setup.py to use pathlib for file paths and improve long description handling. This changes the extension source file paths to be relative, not absolute.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A few changes to pyproject.toml and setup.py were required to build and install successfully.
The errors I ran into were:
setuptools.errors.InvalidConfigError: License classifiers have been superseded by license expressions
The error is probably caused by a newer setuptools package than you used (v77 or above)
The 2nd error was
error: Error: setup script specifies an absolute path:
/Users/buchner/MetalFlashAttention/src/metal_binding.cpp
That matches a known PyTorch BuildExtension problem: during wheel/editable builds, absolute source paths can end up in the extension metadata, and setuptools rejects them.
What changed:
Removed:
•os.path.abspath(...)
•os.path.join(here, ...)
•absolute src_dir
Replaced absolute extension paths with:
•"src/metal_flash_attention.mm"
•"src/metal_binding.cpp"
Replaced include_dirs=[src_dir] with:
•include_dirs=["src"]