Проблемы с установкой PyQt4 на Lion (OSX) - PullRequest
1 голос
/ 09 ноября 2011

Я пытаюсь установить Python IDE eric4 на Mac с Lion.Я установил PyQt-mac-gpl-4.8.6, QT-1.1.4 и SIP-4.13.Когда я перехожу к папке, в которую я скачал eric4 и запускаю команду sudo python install.py, я получаю следующее сообщение:

Checking dependencies
Python Version: 2.7.1
Found PyQt4
Sorry, please install QtHelp.
Error: No module named QtHelp

Как я могу установить модуль QtHelp?Я использовал установщик QT с опциями по умолчанию.Когда я пошел переустанавливать его, используя пользовательские параметры, я нигде не мог видеть файлы справки, перечисленные в списке.


РЕДАКТИРОВАТЬ:

Оглядываясь назад, я понимаю, что это не имеет ничего общего с Эриком, а точнее моя неспособность установить PyQT4.Когда я запускаю строку:

python2.7 configure.py -w -g -q /Users/cel/QtSDK/Desktop/Qt/474/gcc/bin/qmake

я получаю следующий вывод:

Checking to see if the QtHelp module should be built...
g++ -DQT_NO_DEBUG -I. -I/Users/cel/QtSDK/Desktop/Qt/474/gcc/mkspecs/default -I/Users/cel/QtSDK/Desktop/Qt/474/gcc/lib/QtHelp.framework/Headers -I/Users/cel/QtSDK/Desktop/Qt/474/gcc/include -pipe -O2 -w cfgtest_QtHelp.cpp -o cfgtest_QtHelp -F/Users/cel/QtSDK/Desktop/Qt/474/gcc/lib -L/Users/cel/QtSDK/Desktop/Qt/474/gcc/lib -headerpad_max_install_names -framework QtHelp
Undefined symbols for architecture x86_64:
  "QString::fromAscii_helper(char const*, int)", referenced from:
      _main in ccPUS9BG.o
  "QString::free(QString::Data*)", referenced from:
      _main in ccPUS9BG.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

Возможно, это связано с проблемой компиляции этой версии PyQT4 на Lion?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Я нашел sth в списке рассылки, и он отлично работает для меня:)

Мне пришлось пропатчить скрипт конфигурации этой строкой, чтобы модуль qthelp загружал библиотеки qtcore при сборке.

--- PyQt-x11-gpl-4.9 / configure.py ~ 2011-12-23 14: 53: 07.981490550 +0100 +++ PyQt-x11-gpl-4.9 / configure.py 2011-12-23 14: 52: 38.384984221 +0100 @@ -1264,7 +1264,7 @@ opengl = (mname == "QtOpenGL")

qt = [mname]

- если mname in ("QtOpenGL", "QtWebKit"): + если mname in ("QtHelp", "QtOpenGL", "QtWebKit"): qt.append ("QtCore")

makefile = sipconfig.ProgramMakefile(sipcfg, console=1, qt=qt,
warnings=0,

У меня отлично работает.

1 голос
/ 09 ноября 2011

Во-первых, проверьте, действительно ли установлен модуль QtHelp.

Запустите эту команду в консоли, чтобы найти расположение пакета PyQt4:

python2.7 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

Загляните в результирующий каталог для любых файлов PyQt4/QtHelp.*. Если там ничего нет, снова запустите настройку PyQt4 с флагом verbose:

$ make clean
$ python2.7 configure.py -w

Это должно выдавать некоторые сообщения об ошибках, указывающие, почему произошла ошибка конфигурации модуля QtHelp. Скорее всего, это связано с отсутствием некоторых необходимых библиотек или инструментов сборки.

...