Describe the bug
When attempting to install the gum package on a Linux environment (Ubuntu) using pip install git+https://github.com/GeneralUserModels/gum.git, the installation fails.
The error occurs because the setup configuration strictly depends on pyobjc-framework-Quartz, which is a macOS-only library. This causes the installer to look for the /usr/bin/sw_vers command, leading to a FileNotFoundError.
To Reproduce
- Use a Linux machine (e.g., Ubuntu).
- Run the command:
pip install git+https://github.com/GeneralUserModels/gum.git
- See error.
Error Output
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
subprocess.check_output(["/usr/bin/sw_vers", "-productVersion"])
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/sw_vers'
Expected behavior
The package should install successfully on Linux. The pyobjc dependency should ideally be conditionally required only for macOS environments (e.g., pyobjc-framework-Quartz; sys_platform == 'darwin').
Workaround Used
I was able to successfully install the package by cloning the repository and manually removing pyobjc from the dependency files (pyproject.toml / setup.py) before running pip install -e ..
Environment
- OS: Linux (Ubuntu)
- Python Version: 3.11 (or specify your exact version)
Describe the bug
When attempting to install the
gumpackage on a Linux environment (Ubuntu) usingpip install git+https://github.com/GeneralUserModels/gum.git, the installation fails.The error occurs because the setup configuration strictly depends on
pyobjc-framework-Quartz, which is a macOS-only library. This causes the installer to look for the/usr/bin/sw_verscommand, leading to aFileNotFoundError.To Reproduce
pip install git+https://github.com/GeneralUserModels/gum.gitError Output
Expected behavior
The package should install successfully on Linux. The
pyobjcdependency should ideally be conditionally required only for macOS environments (e.g.,pyobjc-framework-Quartz; sys_platform == 'darwin').Workaround Used
I was able to successfully install the package by cloning the repository and manually removing
pyobjcfrom the dependency files (pyproject.toml/setup.py) before runningpip install -e ..Environment