#pyqt #buildout
#pyqt #buildout
Вопрос:
РЕДАКТИРОВАТЬ: следующий buildout.cfg работал для сборки Qt, PyQt и SIP
[buildout]
parts =
pyqt
[pyqt]
recipe = zc.recipe.cmmi
url = http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.8.4.tar.gz
#shared = True
source-directory-contains = configure.py
configure-command = ${buildout:executable} ./configure.py
configure-options = --confirm-license
-q ${qt:location}/bin/qmake
-b ${buildout:parts-directory}/pyqt/bin
-p ${buildout:parts-directory}/pyqt/plugins
-d ${buildout:parts-directory}/pyqt/lib/
-v ${sip:location}/share
--verbose
environment =
PYTHONPATH=${sip:location}/lib
[sip]
recipe = zc.recipe.cmmi
url = http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.12.3.tar.gz
# shared = True
source-directory-contains = configure.py
configure-command = ${buildout:executable} ./configure.py
configure-options =
-b ${buildout:parts-directory}/sip/bin
-e ${buildout:parts-directory}/sip/include
-d ${buildout:parts-directory}/sip/lib
-v ${buildout:parts-directory}/sip/share
[qt]
recipe = zc.recipe.cmmi
url = http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.3.tar.gz
shared = True
Ответ №1:
Я подозреваю, что вам нужно указать PyQt configure, где найти библиотеки sip и включить заголовки:
[pyqt]
recipe = zc.recipe.cmmi
url = http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.8.4.tar.gz
# shared = True
source-directory-contains = configure.py
configure-command = ${buildout:executable} ./configure.py
configure-options = --confirm-license
-b ${buildout:parts-directory}/pyqt/bin
-p ${buildout:parts-directory}/pyqt/plugins
-d ${buildout:parts-directory}/pyqt/lib/
-q ${qt:location}/bin/qmake
-v ${sip:location}/share
--verbose
environment =
PYTHONPATH=${sip:location}/lib
Обновлено: Обновите мой ответ, включив переменную среды PYTHONPATH, чтобы configure.py
загрузить правильный модуль sipconfig.
Комментарии:
1. Извините, тогда у меня закончились идеи; Я вижу ./configure.py у command есть
-w
(или--verbose
) переключатель командной строки, где он будет выдавать все, что найдет; возможно, вы захотите попробовать это и посмотреть, сможете ли вы получить больше информации.2. Проблема с configure.py команда для pyqt заключается в том, что она немедленно завершается сбоем даже за пределами buildout. Я даже не могу распечатать справку, не получив эту ошибку.
3. Это действительно проблема! Попробуйте заставить его работать вне buildout (сначала создайте только часть sip с
bin/buildout install sip
). Кроме того, не используйте,python ./configure.py
а скорее${buildout:executable} ./configure.py
повторно используйте python, используемый для запуска buildout. Я обновил свой ответ (пусть и неправильный), чтобы отразить это.4. Ага! Я вижу, что configure.py импортирует sipconfig. Бьюсь об заклад, что в вашем системном пути установлен sip, и это всегда будет мешать. Вместо этого используйте python virtualenv или задайте PYTHONPATH, указывающий на местоположение $ {si:location} / lib (или где бы он ни хранил sipconfig.
5. Да, PYTHONPATH был проблемой.