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

Can't install PyQt5- Python 3.8/3.9 - Mac M1 #119

Open
HelloThisIsFlo opened this issue Dec 16, 2021 · 7 comments · May be fixed by #132
Open

Can't install PyQt5- Python 3.8/3.9 - Mac M1 #119

HelloThisIsFlo opened this issue Dec 16, 2021 · 7 comments · May be fixed by #132

Comments

@HelloThisIsFlo
Copy link

Hi,

Thanks for this amazing software, it's just so much better than the native remarkable app. That being said, since I changed my mac I can't install this app anymore.

  • The installation fails when trying to install PyQt5.
  • I've tried with python 3.8 and 3.9
  • I've tried manually setting the version of PyQt5 to 5.15.4 / 5.15.5 / 5.15.6

Nothing works, I always get this error:

AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

Any ideas?

@bordaigorl
Copy link
Owner

A quick search gives many results, it seems it is not an uncommon issue.
Some recommend upgrading pip with pip install --upgrade pip... not sure it would help.

@HelloThisIsFlo
Copy link
Author

HelloThisIsFlo commented Dec 17, 2021

Hi,
Thanks for your comment. I already have tried this, yes, and it didn't work, unfortunately. I'm on the latest version of pip

$ pip --version
pip 21.3.1 from /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/lib/python3.8/site-packages/pip (python 3.8)
  • pip version 21.3.1
  • python version 3.8

@bordaigorl
Copy link
Owner

Ok. Maybe pip's error is a side-effect of some other error.
Could you post your whole traceback?
I could imagine it is trying to build from sources and getting stuck somewhere because of the mismatch in the architectures? I don't really know how this works in detail though...

@guidodemmenie
Copy link

It looks like pypi has no binary for M1 Macs for qt5 only a x86 one, so pip would indeed try to build it itself as far as I understand pip.

For Qt6 there is a Mac "universal" version which implies it works for both intel and arm CPU's again. Not sure if that would play nice with rmview though.

@HelloThisIsFlo
Copy link
Author

@bordaigorl
This is the whole traceback

╰─$ pip install .
Processing /Users/floriankempenich/Work/Private/Dev/Misc/RemarkableStreaming/rmview
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-standalone-pip-xh04pima/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-knw6g9fa/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel PyQt5
       cwd: None
  Complete output (385 lines):
  Collecting setuptools
    Using cached setuptools-59.6.0-py3-none-any.whl (952 kB)
  Collecting wheel
    Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
  Collecting PyQt5
    Using cached PyQt5-5.15.6.tar.gz (3.2 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp0bhvqz6b prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpe1qngc55
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_269113725af446eea5b99287d3bdb947
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp0bhvqz6b", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp0bhvqz6b", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp0bhvqz6b", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp0bhvqz6b", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-mpse4azr/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-mpse4azr/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-mpse4azr/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 63, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-mpse4azr/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-mpse4azr/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-mpse4azr/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/3b/27/fd81188a35f37be9b3b4c2db1654d9439d1418823916fe702ac3658c9c41/PyQt5-5.15.6.tar.gz#sha256=80343bcab95ffba619f2ed2467fd828ffeb0a251ad7225be5fc06dcc333af452 (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.6). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp0bhvqz6b prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpe1qngc55 Check the logs for full command output.
    Using cached PyQt5-5.15.5.tar.gz (3.2 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpas9m_52_ prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp9kgno3ls
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_bc71d39077c84a54a02beb566d9bfa3d
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpas9m_52_", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpas9m_52_", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpas9m_52_", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpas9m_52_", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-j3z7gif6/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-j3z7gif6/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-j3z7gif6/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 63, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-j3z7gif6/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-j3z7gif6/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-j3z7gif6/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/72/bf/4e7c66eefa9ede1ec01d065d220373667f4ca3285a83a6430eefc254904c/PyQt5-5.15.5.tar.gz#sha256=b411b7a8fa03901c9feb1dcbac7ea1fc3ce20b9ae682762b777cd5398749ca2b (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.6). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpas9m_52_ prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp9kgno3ls Check the logs for full command output.
    Using cached PyQt5-5.15.4.tar.gz (3.3 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp69ac01ya prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpyjl8qgyo
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_945bd03236944411b1274e3833061fa9
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp69ac01ya", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp69ac01ya", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp69ac01ya", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp69ac01ya", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-d3hl38h8/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-d3hl38h8/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-d3hl38h8/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 63, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-d3hl38h8/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-d3hl38h8/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-d3hl38h8/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/8e/a4/d5e4bf99dd50134c88b95e926d7b81aad2473b47fde5e3e4eac2c69a8942/PyQt5-5.15.4.tar.gz#sha256=2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.6). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp69ac01ya prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpyjl8qgyo Check the logs for full command output.
    Using cached PyQt5-5.15.3.tar.gz (3.3 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpna5e4f66 prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd9ixovm9
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_14e369a744fd48179c74082ba119a6be
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpna5e4f66", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpna5e4f66", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpna5e4f66", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpna5e4f66", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-cxnrd34t/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-cxnrd34t/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-cxnrd34t/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 63, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-cxnrd34t/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-cxnrd34t/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-cxnrd34t/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/6e/86/d715e71771cece0e060f2ebab20f3ded067b08a0927dfb3143530cae8098/PyQt5-5.15.3.tar.gz#sha256=965ba50e7029b37f218a54ace24e87c77db3e5a9f0b83baeb21fb57b4154b838 (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.6). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpna5e4f66 prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd9ixovm9 Check the logs for full command output.
    Using cached PyQt5-5.15.2.tar.gz (3.3 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpecorn20r prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmppyiya8ro
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_8ee73bbea4a04eb689c9b0453a2802cb
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpecorn20r", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpecorn20r", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpecorn20r", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpecorn20r", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-se792dsk/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-se792dsk/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-se792dsk/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 63, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-se792dsk/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-se792dsk/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-se792dsk/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/28/6c/640e3f5c734c296a7193079a86842a789edb7988dca39eab44579088a1d1/PyQt5-5.15.2.tar.gz#sha256=372b08dc9321d1201e4690182697c5e7ffb2e0770e6b4a45519025134b12e4fc (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.5). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpecorn20r prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmppyiya8ro Check the logs for full command output.
    Using cached PyQt5-5.15.1.tar.gz (3.3 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp3dz2wvg9 prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpn7uu82h9
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_a97c5daf0c2a4492889df70628cd34e6
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp3dz2wvg9", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp3dz2wvg9", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp3dz2wvg9", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp3dz2wvg9", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-ohwlxqtb/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-ohwlxqtb/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-ohwlxqtb/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 64, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-ohwlxqtb/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-ohwlxqtb/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-ohwlxqtb/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/1d/31/896dc3dfb6c81c70164019a6cbba6ab037e3af7653d9ca60ccc874ee4c27/PyQt5-5.15.1.tar.gz#sha256=d9a76b850246d08da9863189ecb98f6c2aa9b4d97a3e85e29330a264aed0f9a1 (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.5). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp3dz2wvg9 prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpn7uu82h9 Check the logs for full command output.
    Using cached PyQt5-5.15.0.tar.gz (3.3 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp382v8kt6 prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp7x_j3vul
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_23cfb34eaafa4d9495fc263ff16aa9ac
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp382v8kt6", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp382v8kt6", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp382v8kt6", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp382v8kt6", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-keyp8ftm/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-keyp8ftm/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-keyp8ftm/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 587, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 62, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-keyp8ftm/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-keyp8ftm/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-keyp8ftm/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/8c/90/82c62bbbadcca98e8c6fa84f1a638de1ed1c89e85368241e9cc43fcbc320/PyQt5-5.15.0.tar.gz#sha256=c6f75488ffd5365a65893bc64ea82a6957db126fbfe33654bcd43ae1c30c52f9 (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.5). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp382v8kt6 prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp7x_j3vul Check the logs for full command output.
    Using cached PyQt5-5.14.2.tar.gz (3.2 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp37t8w0qu prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmphgqm5zwv
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_4dfeb202e0f5459e88c500422e95c127
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp37t8w0qu", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp37t8w0qu", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp37t8w0qu", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp37t8w0qu", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-kgajay0n/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-kgajay0n/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-kgajay0n/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 479, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 62, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-kgajay0n/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-kgajay0n/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 225, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-kgajay0n/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 66, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/4d/81/b9a66a28fb9a7bbeb60e266f06ebc4703e7e42b99e3609bf1b58ddd232b9/PyQt5-5.14.2.tar.gz#sha256=bd230c6fd699eabf1ceb51e13a8b79b74c00a80272c622427b80141a22269eb0 (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.5). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmp37t8w0qu prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmphgqm5zwv Check the logs for full command output.
    Using cached PyQt5-5.14.1.tar.gz (3.2 MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd6_aeosl prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpa3rqwmyw
         cwd: /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-install-ze_8lv45/pyqt5_c7ed3c64c1124bbfbddd356ea03c5eaa
    Complete output (29 lines):
    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd6_aeosl", line 156, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd6_aeosl", line 363, in <module>
        main()
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd6_aeosl", line 345, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd6_aeosl", line 160, in prepare_metadata_for_build_wheel
        whl_basename = backend.build_wheel(metadata_directory, config_settings)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-1pxm09b0/overlay/lib/python3.8/site-packages/sipbuild/api.py", line 51, in build_wheel
        project = AbstractProject.bootstrap('pep517')
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-1pxm09b0/overlay/lib/python3.8/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
        project.setup(pyproject, tool, tool_description)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-1pxm09b0/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 479, in setup
        self.apply_user_defaults(tool)
      File "project.py", line 62, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-1pxm09b0/overlay/lib/python3.8/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
        super().apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-1pxm09b0/overlay/lib/python3.8/site-packages/sipbuild/project.py", line 225, in apply_user_defaults
        self.builder.apply_user_defaults(tool)
      File "/private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-1pxm09b0/overlay/lib/python3.8/site-packages/pyqtbuild/builder.py", line 66, in apply_user_defaults
        raise PyProjectOptionException('qmake',
    sipbuild.pyproject.PyProjectOptionException
    ----------------------------------------
  WARNING: Discarding https://files.pythonhosted.org/packages/3a/fb/eb51731f2dc7c22d8e1a63ba88fb702727b324c6352183a32f27f73b8116/PyQt5-5.14.1.tar.gz#sha256=2f230f2dbd767099de7a0cb915abdf0cbc3256a0b5bb910eb09b99117db7a65b (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.5). Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpd6_aeosl prepare_metadata_for_build_wheel /var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/tmpa3rqwmyw Check the logs for full command output.
    Using cached PyQt5-5.14.0.tar.gz (3.2 MB)
  ERROR: PyQt5 from https://files.pythonhosted.org/packages/7c/5b/e760ec4f868cb77cee45b4554bf15d3fe6972176e89c4e3faac941213694/PyQt5-5.14.0.tar.gz#sha256=0145a6b7de15756366decb736c349a0cb510d706c83fda5b8cd9e0557bc1da72 has a pyproject.toml file that does not comply with PEP 518: 'build-system.requires' contains an invalid requirement: 'sip >=5.0.1 <6'
  ----------------------------------------
WARNING: Discarding file:///Users/floriankempenich/Work/Private/Dev/Misc/RemarkableStreaming/rmview. Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-standalone-pip-xh04pima/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-knw6g9fa/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel PyQt5 Check the logs for full command output.
ERROR: Command errored out with exit status 1: /Users/floriankempenich/.local/share/virtualenvs/RemarkableStreaming-n8AmpMUf/bin/python /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-standalone-pip-xh04pima/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/46/cw9kg7bd15z1jwvc62lrv6sc0000gn/T/pip-build-env-knw6g9fa/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel PyQt5 Check the logs for full command output.

@guidodemmenie Thanks for the suggestion. Unfortunately it doesn't work 😕
Using PyQt6 does indeed seem to install, but then if fails when installing rmview because rmview imports PyQt5. I tried to naively replace all PyQt5 with PyQt6, but it didn't work, they seem to have different apis.

@ben-n93
Copy link

ben-n93 commented Jan 14, 2022

Hi @FlorianKempenich , I have an M1 Macbook and I installed PyQt5 by creating a virtual environment and installing PyQt5 using Rosetta Terminal.

To enable Rosetta on Terminal, duplicate a copy of the Terminal application and rename it to something like 'Rosetta Terminal'. Then right click on the Rosetta Terminal icon and choose 'Get Info'. Check the box for “Open using Rosetta”. Close the 'Get Info' window and then run the Rosetta Terminal, activate your virtual environment and install PyQt5.

Read more here:

https://osxdaily.com/2020/11/18/how-run-homebrew-x86-terminal-apple-silicon-mac/

Hope that helps.

@monkeyclass monkeyclass linked a pull request Feb 4, 2022 that will close this issue
@monkeyclass
Copy link

I've created a PR that should solve this issue natively, without having to launch through rosetta. The fix is to use PyQt6. This is, as @FlorianKempenich not as easy as changing the imports. A lot of the functions have been changed and moved to sub functions. I've tried to change most calls, but something still fails once the screen from the RM loads - but at least the initial load from the RM to the monitor works.

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 a pull request may close this issue.

5 participants