Skip to content
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

install pyobjc for multiple os versions. #354

Closed
weswhet opened this issue Apr 13, 2021 · 4 comments
Closed

install pyobjc for multiple os versions. #354

weswhet opened this issue Apr 13, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@weswhet
Copy link

weswhet commented Apr 13, 2021

Hi, I work with the https://github.com/saltstack/salt project and we are trying to include pyobjc into the project. right now when we attempt to add pyobjc through pip pyobjc==6.2.2 it only includes the additional frameworks for the os version it's built on which in this case is 10.14 which makes sense.

Is there a way to install pyobjc and have it include all of the frameworks for a list of supported os_versions? In this case 10.14-11.0? Outside of specifically listing all of the frameworks in requirements.txt?

@weswhet
Copy link
Author

weswhet commented Apr 13, 2021

This is related to saltstack/salt#60012

@ronaldoussoren
Copy link
Owner

I'm afraid the only way to install all frameworks wrappers is to install them manually, the "pyobjc" wrapper package is designed to install the subset of packages that are relevant for the current machine. That's the most common use case, and avoid bug reports about not being able to use a framework wrapper on a version of macOS that doesn't have that framework.

The metadata in binary wheels does not, and will not, forbid installing wheels on systems that don't have the required system framework. Building from source does enforce this, but that's because C extensions cannot be build without having the wrapped framework available.

@ronaldoussoren
Copy link
Owner

IMHO this could and should be feature in pip. I've therefore filed an issue for this with that project.

@ronaldoussoren
Copy link
Owner

I think I can provide support for this in PyObjC by using the extras feature, something like:

$ pip install pyobjc[allbindings]

I'll probably add this feature in PyObjC 8 ("this fall")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants