вторник, 16 марта 2010 г.

Ubuntu и PyQt4 + python3

Задача.

Установить python3 и подвязать к нему PyQt.



Решение.

1. устанавливаем python3 и qt

через пакетный менеджер забираем компоненты
python3-all-dev libqt4-dev

2. устанавливаем SIP

заходим на официальный сайт

http://www.riverbankcomputing.co.uk/software/sip/download

скачиваем, распаковываем, подготавливаем к сборке

python3 configure.py

и собираем и устанавливаем

make 
sudo make install

3. устанавливаем PyQt4

заходим на официальный сайт

http://www.riverbankcomputing.co.uk/software/pyqt/download

скачиваем, распаковываем, подготавливаем к сборке

python3 configure.py

читаем лицензию, соглашаемся, собираем и устанавливаем

make
sudo make install



4 комментария:

  1. В пункт 1 необходимо добавить:
    - libxext-dev (у меня не хватало для успешной сборки);
    - libqt4-gui (для QtGui.so).

    ОтветитьУдалить
  2. Хм, libxext-dev у меня был установлен автоматически в системе, видимо поставился с др.проектом, а вот libqt4-gui - ставился в ручную.
    Спасибо за дополнение.

    ОтветитьУдалить
  3. Determining the layout of your Qt installation...
    /usr/bin/qmake -o qtdirs.mk qtdirs.pro
    make -f qtdirs.mk
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I. -o qtdirs.o qtdirs.cpp
    qtdirs.cpp:1:17: error: QFile: Нет такого файла или каталога
    qtdirs.cpp:2:24: error: QLibraryInfo: Нет такого файла или каталога
    qtdirs.cpp:3:23: error: QTextStream: Нет такого файла или каталога
    qtdirs.cpp: In function ‘int main(int, char**)’:
    qtdirs.cpp:7: error: ‘QFile’ was not declared in this scope
    qtdirs.cpp:7: error: expected ‘;’ before ‘outf’
    qtdirs.cpp:9: error: ‘outf’ was not declared in this scope
    qtdirs.cpp:9: error: ‘QIODevice’ has not been declared
    qtdirs.cpp:9: error: ‘QIODevice’ has not been declared
    qtdirs.cpp:9: error: ‘QIODevice’ has not been declared
    qtdirs.cpp:12: error: ‘QTextStream’ was not declared in this scope
    qtdirs.cpp:12: error: expected ‘;’ before ‘out’
    qtdirs.cpp:14: error: ‘out’ was not declared in this scope
    qtdirs.cpp:14: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:14: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:15: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:15: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:16: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:16: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:17: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:17: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:18: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:18: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:19: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:19: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:21: error: ‘QT_VERSION’ was not declared in this scope
    qtdirs.cpp:22: error: ‘QT_EDITION’ was not declared in this scope
    qtdirs.cpp:24: error: ‘QLibraryInfo’ has not been declared
    qtdirs.cpp:90: error: ‘qreal’ was not declared in this scope
    make: *** [qtdirs.o] Ошибка 1
    Error: Failed to determine the layout of your Qt installation. Try again using
    the --verbose flag to see more detail about the problem.

    в чем проблема

    ОтветитьУдалить
  4. скачиваем, распаковываем, подготавливаем к сборке

    python3 configure.py

    Прошло успешно. а make не пошёл. Не скажете почему?(

    ОтветитьУдалить