PySide — одна из библиотек биндингов к Qt, альтернатива PyQt. Разница между ними несущественная и код написанный под PyQt может работать почти без изменений под PySide. Основное преимущество PySide — использование LGPL лицензии против GPL PyQt, которая (LGPL) более «либеральная» и позволяет использовать линковку из проектов с закрытым исходным кодом.
К сожалению, PySide тоже не ставится «из коробки» с помощью pip, приходится доставлять зависимости. В моей системе для установки пришлось доставить следующие пакеты:
1 | $ sudo apt-get install libqt4-dev qt4-qmake libxslt-dev libxml2-dev cmake |
Затем выполняем:
1 | $ pip install PySide |
Минут через 20-40 всё наконец-то должно скомпилироваться и заработать. К слову сказать, теперь понятно почему автор PySide рекомендует использовать установку из «яйца» (python eggs) через easy_install, этот процесс должен пройти гораздо скорее.
Update (08.05.13)
А вот в Ubuntu 13.04 эта штука всё равно отказывается ставить. Если вы видите примерно такую картину:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | $ pip install PySide (20:03:57) :) Downloading/unpacking PySide Running setup.py egg_info for package PySide Removing /home/lizzard/.virtualenvs/whenzo/build/PySide/PySide Removing /home/lizzard/.virtualenvs/whenzo/build/PySide/pysideuic package init file 'PySide/__init__.py' not found (or not a regular file) package init file 'pysideuic/__init__.py' not found (or not a regular file) warning: no previously-included files matching '**' found under directory 'sources/pyside-examples/examples/hyperui' warning: no previously-included files matching '**' found under directory 'sources/pyside-examples/mobility' warning: no previously-included files matching '**' found under directory 'sources/shiboken/.git' warning: no previously-included files matching '**' found under directory 'sources/pyside/.git' warning: no previously-included files matching '**' found under directory 'sources/pyside-tools/.git' warning: no previously-included files matching '**' found under directory 'sources/pyside-examples/.git' warning: no files found matching '**' under directory 'PySide' warning: no files found matching '**' under directory 'PySide/plugins' warning: no files found matching '**' under directory 'PySide/imports' warning: no files found matching '**' under directory 'PySide/translations' warning: no files found matching '**' under directory 'PySide/include' warning: no files found matching '**' under directory 'PySide/typesystems' warning: no files found matching '**' under directory 'PySide/examples' warning: no files found matching '**' under directory 'pysideuic' warning: no files found matching '**' under directory 'pysideuic/Compiler' warning: no files found matching '**' under directory 'pysideuic/port_v2' warning: no files found matching '**' under directory 'pysideuic/port_v3' warning: no files found matching '**' under directory 'pysideuic/widget-plugins' Installing collected packages: PySide Running setup.py install for PySide Removing /home/lizzard/.virtualenvs/whenzo/build/PySide/PySide Removing /home/lizzard/.virtualenvs/whenzo/build/PySide/pysideuic error: Failed to locate the Python library /usr/lib/libpython2.7.so.1 Complete output from command /home/lizzard/.virtualenvs/whenzo/bin/python -c "import setuptools;__file__='/home/lizzard/.virtualenvs/whenzo/build/PySide/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_ZTK6D-record/install-record.txt --single-version-externally-managed --install-headers /home/lizzard/.virtualenvs/whenzo/include/site/python2.7: Removing /home/lizzard/.virtualenvs/whenzo/build/PySide/PySide Removing /home/lizzard/.virtualenvs/whenzo/build/PySide/pysideuic running install running build error: Failed to locate the Python library /usr/lib/libpython2.7.so.1 ---------------------------------------- Command /home/lizzard/.virtualenvs/whenzo/bin/python -c "import setuptools;__file__='/home/lizzard/.virtualenvs/whenzo/build/PySide/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_ZTK6D-record/install-record.txt --single-version-externally-managed --install-headers /home/lizzard/.virtualenvs/whenzo/include/site/python2.7 failed with error code 1 in /home/lizzard/.virtualenvs/whenzo/build/PySide Storing complete log in /home/lizzard/.pip/pip.log |
Этот фикс должен вам помочь:
1 | $ sudo ln -s /usr/lib/x86_64-linux-gnu/libpython2.7.so.1 /usr/lib/ |
Это для 64-битных систем. Для 32-битных путь, соответственно, должен быть другим. Если вышеупомянутого файла всё равно нет, то воспользуйтесь поиском, примерно так (внимание, вывод ошибок перенаправлен в /dev/null, дабы не созерцать строки «отказано в доступе»):
1 | $ find / -name libpython\*so\* -print 2>/dev/null |
Так же можете попробовать выполнить поиск от имени суперпользователя, вдруг проблема с правами.