PyQt5가 다운로드 되지 않는 M1 맥북 이슈

🔒 에러

pip install PyQt5를 해도 Preparing metadata(pyproject.toml)에서 넘어가지 않는 M1 맥북 이슈를 만났다. (metadata-generation-failed, subprocess-exited-with-error)
문제 해결에 앞서 라이브러리 선택의 여유가 있는 사람들은 Pyside6나 PyQt6도 고려해보길 권한다.

여러가지로 테스트 해본 결과는 다음과 같다.

📄 테스트 리스트

  • pip install pyqt5 (실패)
  • pip3 install pyqt5 (실패)
  • python -m pip install pyqt5 (실패)
  • python3 -m pip install pyqt5 (실패)

🔑 해결

결국 해결방안은 Homebrew를 이용하는 것이었다.

arch -arm64 brew install pyqt5

brew list로 잘 설치가 되었는지 확인한다. 설치가 안되었다면 brew reinstall로 재설치를 진행한다.
만약 가상환경을 사용한다면 python -m pip listpython3 -m pip list를 둘 다 확인하여 어느곳에 설치되었는지 보고 상황에 맞게 python 또는 python3 명령어를 사용해야한다. 루트 환경에서는 보통 pythonpython3 명령어가 같은 경로를 가리키고 있으므로 어느쪽을 사용하든 결과는 같다. 이후로 다른 라이브러리를 설치할 때도 명령어 버전에 맞게 설치해 주면 된다.

python -m pip install [라이브러리]
혹은
python3 -m pip install [라이브러리]

🤔 원인 분석

PyQt5는 Qt의 C++ 라이브러리를 필요로 하는데, 기본적으로 macOS에는 설치되어 있지 않다. Qt 및 필요한 라이브러리들이 brew install 시에 설치되고 이후 pip install 시에 해당 라이브러리를 사용함으로써 오류가 사라졌을 가능성이 높다.