Меню Рубрики

Установка pyqt в линукс

Создаём окружение для PyQt5 в Linux MInt (Ubuntu)


Давно уже до пятой версии обновился Qt и вместе с ним PyQt, но найти информацию по ним в русскоязычном сегменте — задача не из простых. Под катом подробный туториал для тех, кто только начинает знакомиться со связкой Qt + python3.

Цель: собрать и настроить окружение, пройти путь от установки PyQt5 и создания формы в Qt Designer до запуска переносимого бинарника под Windows (да, всё верно, разрабатываем под Mint, собираем для linux и windows).

Пути установки

/dev/
Мы будем использовать виртуальные окружения для питона, и хранить их будем в директории envs, т.е.

/dev/envs/
Наши проекты будут храниться в директории src, т.е.

/dev/src/

Если у вас уже сложилась собственная иерархия размещения файлов, то придётся скорректировать пути в командах, приведённых ниже.

Настройка окружения

Создаём структуру директорий. Откройте консоль и выполните:

Ставим пакет, который потребуется нам для сборки в будущем:

Создаём виртуальное окружение, активируем его и обновляем пакеты:

Ставим Qt5. При выборе пути установки я оставил «по-умолчанию»

/Qt. Если Вы выберите другой, то необходимо менять пути в командах ниже:

Ставим SIP — модуль, необходимый для работы PyQt:

На этом всё. Окружение установлено и готово к работе. Для проверки выполните команду:

Ответ должен выглядеть следующим образом:

Для проверки, что всё действительно установилось в виртуальное окружение, откройте новое окно терминала и повторите команду проверки:

В ответ должна появиться ошибка ImportError. Новое окно терминала после этого можно закрыть.

Создание приложения

Перейдём в директорию с нашими исходниками и создадим директорию проекта:

Далее нам потребуется Qt Designer. Если Вы не меняли пусть установки Qt, то запустить его можно командой:

Вот так выглядит запущенный Qt Designer на моей системе:

В данном руководстве я не буду подробно останавливаться на описании интерфейса дизайнера, мы пройдём простейший путь до минимальной готовой формы. Если Вам необходима более подробная информация — Google It!

В диалоговом окне выбираем «Widget» (последний пункт в списке «templates/forms») и нажимаем кнопку «Создать». Откроется форма редактирования виджета:

Перетащите на форму кнопку из меню слева и сохраните полученную форму с именем test.ui в директорию

/dev/src/pyqt_test/:

Tips&Tricks: Нажав [Crtl + R] Вы можете запустить свою форму и «потрогать» её в режиме реального времени.

Конвертируем файл интерфейса из XML формы в понятную python форму:

Я не хочу редактировать что-либо в файле, созданном конвертером PyQt, поэтому наши слоты мы опишем в отдельном файле. Создайте файл test_slots.py и откройте его в любимом Вами редакторе. Наполнение файла должно выглядеть примерно так:

Затем, создайте ещё один файл с именем main.py, в котором мы опишем основную логику:

На этом наше приложение завершено. Выполнив из консоли

мы должны увидеть форму с кнопкой посередине, нажатие на которую меняет название кнопки на системную дату.

Упаковка в исполняемый файл для Linux

Упаковщик потребует некоторой магии при установке.
Скачиваем пакет, не устанавливая его и распаковываем:

Открываем любимым редактором файл cx_Freeze-4.3.4/setup.py. Я использую SublimeText:

Правим строку №84, чтобы она выглядела, как на картинке:

Tips&Tricks: А вы знали, что если запустить SublimeText из виртуального окружения, то интерпретатором по-умолчанию будет из виртуального окружения?

Сохраняем изменения, закрываем редактор, устанавливаем пакет, возвращаемся в папку с исходниками, запускаем упаковку:

После этого в директории с исходниками появится директория dist, в которой среди множества файлов можно заметить файл без расширения main — это и есть наш бинарник, готовый для запуска и переноски. Откровенно говоря, немного расстраивает размер дистрибьютива: на моей машине это — 70,1 Мб, но не стоит забывать, что туда упакованы: python, PyQt, Qt и некоторые общесистемные библиотеки. Сборочный скрипт cxfreeze достаточно гибко конфигурируется, но подбор оптимальных параметров я оставлю на совести читателя. Скажу только, что счастье кроется в сжатии, оптимизации и ручном ограничении зависимостей.

Читайте также:  Установка заглушки для ламината

Упаковка в исполняемый файл для Windows

К сожалению, чуда не будет. Мне не известен способ собрать exe напрямую из-под Linux-системы. Поэтому, придётся потанцевать с wine.
Закрываем открытый в самом начале терминал:

Открываем новый, ставим последнюю версию wine:

После этого скачиваем windows-версии уже знакомых нам пакетов и запускаем установку из-под wine:

А дальше немного магии. Идём по ссылке:

Качаем актуальную версию cx_Freeze для нашего интерпретатора и ставим поверх официальной:

После этого остаётся проверить работоспособность. Переходим в каталог с исходником, открываем терминал wine, выполняем уже знакомую команду сборки:

Оказалось, что у меня в распоряжении нет windows-машины, поэтому смог протестировать результат только под wine. Выходим из терминала wine (команда exit), закрываем терминал. Идём раздавать нашу программу всем желающим.

источник

Как скачать и установить Python 3 на Ubuntu 18.04 (Linux)

В этой статье мы скачаем и установим последнюю версию Python 3 на Ubuntu. Затем убедимся, что python установлен корректно, рассмотрим популярные ошибки и их решения.

Все команды выполнялись в Ubuntu 18.04 LTS, но эта статья поможет установить python на Ubuntu 16.04, Debian, Mint и другие Linux-системы.

Мы используем командную строку Ubuntu — Терминал, для работы. Вы можете открыть Терминал через поиск или комбинацию клавиш Ctrl+Alt+T.

Как проверить текущую версию Python

Проверка текущей версии программного обеспечения не только помогает вам получить номер версии этого программного обеспечения, установленного в вашей системе, но и проверяет, действительно ли программное обеспечение установлено в вашей системе.

Мы сделаем то же самое для Python, выполнив следующую команду в нашем терминале:

Версия будет отображаться, как показано в приведенном выше выводе. Число зависит от того, когда вы обновили систему.

У вас также может быть несколько версий Python, установленных в вашей системе. Следующая команда выведет список всех версий Python, которые есть в вашей системе:

Как установить Python 3 на Linux через apt-get

Установка Python 3 на Ubuntu с помощью команды apt-get довольно просто. Во-первых, вам необходимо обновить репозиторий системы, чтобы можно было установить последнюю доступную версию без проблем совместимости. Для этого выполните команду от имени администратора:

Так как Python уже установлен в нашей системе (это мы проверили в предыдущем разделе), нам нужно обновить его до последней версии следующим образом:

Система может попросить вас ввести пароль для прав sudo , поскольку только авторизованный пользователь может добавлять / удалять и обновлять программное обеспечение в Ubuntu.

Система также запросит подтверждение обновления. Введите Y , а затем нажмите Enter, чтобы продолжить.

Так вы обновили Python до последней доступной версии. Проверьте:

Если Python не установлен, вы можете установить его с правами sudo используя команду apt-get :

Как установить Python 3 на Linux из архива

Сайт Python.org содержит список всех выпусков Python по этой ссылке:
https://www.python.org/downloads/source/

Поэтому, если вы решите установить Python вручную, можете скачать python любой сборки c официального сайта. На сайте также есть последние версии, которые вы не загрузите с помощью команды apt-get .

На момент подготовки материала Python-3.7.1 последняя доступная версия, поэтому мы скачаем его файл .tgz с помощью следующей команды:

Когда архив с ptyhon будет скачан, выполните следующую команду, чтобы извлечь файлы:

После того, как файлы извлечены, нужно запустить C-программу «configure». Для этого вам необходимо установить компилятор языка программирования C — gcc в вашу Linux-систему. Если он не предустановлен, установите его с помощью следующей команды:

Измените текущую директорию на Python-3.7.1 или на ту версию python, которую вы скачали и извлекли:

Теперь используйте следующую команду, чтобы запустить скрипт конфигурации:

Теперь пришло время установить Python.

Если вы не можете запустить команду make , установите make с помощью следующей команды:

Запустите следующую команду для установки языка программирования Python:

Читайте также:  Установка занавески для душа

Скачанная версия Python с официального сайта установлена ​​в вашей Linux-системе.

Ошибки, которые могут возникнуть при установке

1. Zipimport.zipimporterror

Когда вы запускаете команду sudo make install , можете столкнуться со следующей ошибкой:

Это значит, что нужно установить пакет с именем zlib1g-dev , так как он, возможно, вам не был нужен раньше.

Решение:
Выполните следующую команду с правами sudo, чтобы установить отсутствующий пакет zlib1g-dev :

Затем повторите команду для завершения установки Python:

2. No module named ‘_ctypes’

Это ошибка появляется также при запуске команды sudo make install :

Это значит, что нужно установить пакет с именем libffi-dev , так как он, возможно, вам не был нужен раньше.

Решение:
Выполните следующую команду с правами sudo, чтобы установить отсутствующий пакет libffi-dev :

Затем повторите команду для завершения установки Python:

Как обновить команду python3 до последней версии

Перед установкой Python вручную из архива номер версии нашей установки Python был 3.6.7

Когда я проверил номер версии python3.7 , он дает следующий вывод:

Обновите версию python для команды python3 следующей командой:

Теперь команда python3 работает с последней версией Python в моей системе (3.7.1).

Заключение

В большинстве версий Ubuntu уже установлены Python и Pip3, но после прочтения этой статьи вы узнали, как загрузить и обновить их до последних версий.

источник

ujjwal96 / Install PyQt5 on Ubuntu with python3 .md

Configuring to run from terminal

$ qtchooser -run-tool=designer -qt=5

Write the following in /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

Create uic.py file.

Create a symlink:

$ sudo ln uic.py «/usr/lib/x86_64-linux-gnu/qt5/bin/uic»

/.local/share/application with .desktop extension

This comment has been minimized.

umbe1987 commented Aug 9, 2018

This helped me a lot setting the right qtdesigner! Thanks for sharing this gist! Kind regards, Umberto

This comment has been minimized.

ravi97garg commented Sep 4, 2018

Unable to launch /usr/lib/qt5/bin/uic.

This comment has been minimized.

FeloVilches commented Sep 16, 2018

I’m using Linux Mint and the first command pip3 install —user pyqt5 told me I need the SIP software/library. So I downloaded it from this page: http://pyqt.sourceforge.net/Docs/sip4/installation.html

By following the steps, I achieved the make step, and it also threw an error telling me Python.h wasn’t available, so I had to install sudo apt-get install python3-dev . Then ran make again and worked. Then the pip3 install —user pyqt5 command worked.

This comment has been minimized.

ujjwal96 commented Oct 2, 2018

@ravi97garg here write
sudo ln uic.py «/usr/lib/qt5/bin/uic»

This comment has been minimized.

mraehanakbar commented Mar 1, 2019

This comment has been minimized.

CyberSinister commented May 8, 2019

How do I add PyQt5 to Qt Creator? I’m lost. I’ve spent 4 hours on this and now I’ve given up. Any help?

This comment has been minimized.

FangliangBai commented Jun 3, 2019

How do I add PyQt5 to Qt Creator? I’m lost. I’ve spent 4 hours on this and now I’ve given up. Any help?

What do you mean by adding PyQt5 to Qt Creator?
They work separately.
Usually, You can use Qt Creator (or Qt Designer) to draw the UI and generate .ui file, e.g. window.ui . Then you use PyQt5 to convert the window.ui file to a window.py file. Then you should write your code based on the window.py and don’t need window.ui anymore, unless you modified it (you should redo the conversion).

This comment has been minimized.

MrFlava commented Jul 18, 2019

Help me! How to fix this problem?

This comment has been minimized.

madhuniha commented Jul 18, 2019

when i run qtchooser -run-tool=designer -qt=5
i get
QXcbConnection: Could not connect to display
Aborted (core dumped)
What must have gone wrong? I created a new virtual environment and followed your steps.

Читайте также:  Установка круиз контроля тойота аурис

This comment has been minimized.

ujjwal96 commented Jul 18, 2019

@MrFlava Looks like you either you don’t have python3 in /usr/bin or there’s some error in your uic.py file

This comment has been minimized.

ujjwal96 commented Jul 18, 2019

@madhuniha This seems like a bug. Try running
$ xvfb-run — qtchooser -run-tool=designer -qt=5

This comment has been minimized.

MrFlava commented Jul 18, 2019

This comment has been minimized.

Sokom141 commented Sep 26, 2019

Thank you so much! This worked, as opposed to other methods.

This comment has been minimized.

Ahsanrao237 commented Dec 8, 2019

Q: how to convert .ui file into .py file?
Ans: Open terminal in the folder where your ui file present, then write this command.
pyuic -x [FILENAME].ui -o [FILENAME].py

This comment has been minimized.

aanastasiou commented Jan 8, 2020

So, from the point of view of running python within a virtual environment, it is very likely that all steps to get pyqt5 will work, except the bit that used to bring qt-designer in. If the system has Qt5 installed, it seems to have all the libraries required for it installed too and even if you don’t have pyqt5 installed on the base system, the qtchooser way of launching qtdesigner from above will work.

Therefore, a key component here is qtchooser.

The compiler will become available immediately within the virtualenv once you install pyqt5 there.

It would be great if the settings to launch the designer (in terms of setting up environment variables) where applied by one of the pip packages :/

This comment has been minimized.

mohamadjalali commented Jan 17, 2020 •

Which path do I choose to save the uic.py file.
After creating the uic.py file by entering this command
$ sudo ln uic.py «/usr/lib/x86_64-linux-gnu/qt5/bin/uic»
I have the following error .
ln: failed to create hard link ‘/usr/lib/x86_64-linux-gnu/qt5/bin/uic’: File exists

This comment has been minimized.

carlos-antonio-dias commented Feb 5, 2020

Hi everyone I got stuck right at the first command(pip3 install —user pyqt5) which show there error:
Command «python setup.py egg_info» failed with error code 1 in /tmp/pip-build-cvndyrvb/pyqt5/
I went through:
facebook/prophet#418
https://superuser.com/questions/241865/updating-python-on-ubuntu-system

And none of it helped. Any ideas?

This comment has been minimized.

sahilparekh commented Feb 16, 2020

Hi everyone I got stuck right at the first command(pip3 install —user pyqt5) which show there error:
Command «python setup.py egg_info» failed with error code 1 in /tmp/pip-build-cvndyrvb/pyqt5/
I went through:
facebook/prophet#418
https://superuser.com/questions/241865/updating-python-on-ubuntu-system

And none of it helped. Any ideas?

use pip3 install —user pyqt5==5.14

This comment has been minimized.

wrishel commented Feb 26, 2020

Top-notch tutorial in that it works without a lot of knowledge about Ubuntu! I think it’s possible that the Desktop Entry section is no longer needed. If you decide to keep it, it needs a minor update.

When I have finished the tutorial and Show Application in Ubu 18, I see two for designer. One has a generic icon and the other has an icon specific to Qt.

The .desktop file with is in /usr/share/applications/designer-qt5.desktop with a modification date in 2018 so I suppose it was installed along with Qt. The .desktop file for the the item with the generic logo is in the one I created following the tutorial.

  1. if the desktop files are installed with QT do we really need the Desktop Entry section in the tutorial?
  2. if you do keep that section I suggest changing «Icon=designer» to «Icon=designer-qt» since this creates the desktop entry with Qt’s icon.

источник

Добавить комментарий

Adblock
detector