Вероятно, это не лучший / правильный способ сборки PyQt 4, но я собрал его, и теперь моя программа работает.
Для решения, приведенного ниже, требуется установить Qt. Я установил это с
brew install cartr/qt4/pyqt@4
Теперь часть PyQt.
Установка PyQt состоит из 3 шагов:
python configure.py
make
make install
Чтобы сделать python configure.py
пошаговая работа Мне пришлось изменить это в файле configure.py
:
-qt_macx_spec = 'macx-g++'
+qt_macx_spec = 'macx-llvm'
На втором шаге при запуске make
я получил ту же ошибку, что и раньше, но на этот раз она возникла из сгенерированного Makefiles. Оказалось, что увеличение версии во флаге -mmacosx-version-min=10.5
до -mmacosx-version-min=10.10
(путем замены этой строки во всех сгенерированных файлах Makefile) привело к ошибке go.
(Моя интерпретация этого состояла бы в том, что более поздние версии MacOS SDK используют не старую стандартную библиотеку C ++ G CC, а библиотеку C ++ их более новой цепочки инструментов Clang C ++.)
После этого при запуске приложения на основе PyQt4 я нажимал:
ImportError: No module named sip
Было найдено решение здесь : мне пришлось перестраивать SIP с дополнительным флагом:
cd sip-4.19.22
# `make clean` is important otherwise rebuilding will not work
# your program might complain with
# "ValueError: PyCapsule_GetPointer called with incorrect name"
make clean
python configure.py --sip-module PyQt4.sip