LINUX.ORG.RU

10
Всего сообщений: 81

Подскажите инструменты для создания визуализации flow нескольких процессов?

Имеется модель, в которой несколько «ядер» выполняют некоторые процессы. Каждый на своем ядре. Иногда некоторые ядра простаивают, иногда один процесс завершается, начинается другой.

Хочется визуализировать это на временной диаграмме, чтобы наглядно представить ответы на вопросы «есть ли моменты, где какое-то ядро долго простаивает», «что выполняется на таком-то ядре в заданный момент времени». Визуально хочется получить что-то вроде http://twimgs.com/ddj/images/article/2009/0910/091023hillar_f6.gif

Основной инструмент разработки - Python, пока рассматривал варианты:

matplotlib:
+ простой
+ красивый
- результирующие изображения могут быть длинными, а тут на выходе растр, которые скроллить не хочется сильно
- возможно, сложно будет организовать подписывание процессов (например, если визуально процесс короткий и на картинке нет места для имени этого процесса)

pyqt:
+ скорее всего, можно что угодно и как угодно
+ если подписи не будут помещаться, можно убрать их в pop-up подсказки при наведении указателя
- сложный

 , , , ,

omegatype ()

Окно закрывается, но процесс продолжает работать

Решил перевести мелкую утилиту с pyside/python2 на pyqt5/python3, вроде всё работает, но почему-то когда закрываешь окно утилиты (через главное меню или кнопку закрытия окна - неважно), окно закрывается, но процесс init.py продолжает висеть в памяти.

https://github.com/alexferman/brightness3

Как я понимаю, что-то не так в этом файле: https://github.com/alexferman/brightness3/blob/master/src/init.py

Или в этом: https://github.com/alexferman/brightness3/blob/master/src/ui/mainwindow.py

 , , ,

alexferman ()

IDE для PyQT

Сабж,нужен нормальный IDE для написания GUI на PyQT.

Из необходимого:

1.Автокомплит
2.Изменение окна прямо во время написание кода(Например добавил кнопку и она сразу появилась в окне).

Уже пробовал:

1.VSCode и Atom слишком большая прожорливость ОЗУ(На ноуте вообще звисает).

2.Emacs: Слишком сложно, Jedi не хочет ставиться с melpa.

3.Geany: плохой автокомплит

 , ,

playX ()

Теория архитектуры приложения на практике

Делаю приложение на pyqt + бд, в первой версии столкнулся со сложностью системы. Сейчас стараюсь переписать по правилам low cohesion high coupling и другим правилам хорошей архитектуры. Проблем уменьшилось, только всеравно некоторые правила нарушаю. В pyqt при событии(нажатии на кнопку) появляется список где должны отобразиться данные из бд, и так получается что в любом случае в файлах интерфейса приходится обращаться к бд хоть и через обертки. Плюс чем дальше тем больше будут обращений куда интерфейсу лазить по правилам хорошего кода влазить не стоит. Вопрос, как построить архитектуру более правильно?

Пример:

class Window(QMainWindow):
    def __init__(self):
       var = None
       self.button.triggered.connect(self.action)

     def action(self):
         self.accessDb() #????

 , ,

ferz ()

PyQt5 GUI для работы со словарями в формате DSL (ABBYY Lingvo)

Есть идея - создать программу (мобильный и десктопный варианты; аналог GoldenDict) для работы со словарями в формате DSL.

Основу/движок планирую взять отсюда

Free and flexible IronDict .DSL reader/converter (HTML output) working with Python >= 3.2.

http://github.com/prodotiscus/iron-dict/

TODO

Так как основа/движок будет на Python3.2, то планирую использовать pyqtdeploy для конвертирования кода Python в C++

pyqtdeploy is a tool that, in conjunction with other tools provided with Qt, enables the deployment of PyQt4 and PyQt5 applications written with either Python v2.7 or Python v3.3 or later.
It supports deployment to desktop platforms (Linux, Windows and OS/X) and to mobile platforms (iOS and Android).
pyqtdeploy itself requires PyQt5 and Python v3.2 or later.
pyqtdeploy works by taking the individual modules of a PyQt application, freezing them, and then placing them in a Qt resource file that is converted to C++ code by Qt’s rcc tool. Python’s standard library is handled in the same way.

https://pypi.python.org/pypi/pyqtdeploy/

Есть желающие поучаствовать? ;-)

https://github.com/prodotiscus/iron-dict/issues/1

P.S.: Дополнительная информация

 , , ,

atsym ()

PyQt - драйвер есть, но нет

from PyQt5.QtSql import QSqlDatabase

qq = QSqlDatabase('QMYSQL')

Выхлоп при запуске:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
По трассировке он пытается найти libmysqlclient.so.18, в системе установлен libmysqlclient20. Пробовал делать симлинки с нужным именем - хрен там, работать он с ним не хочет, хотя файл находит:
19:01:26.198239 open("/usr/lib/libmysqlclient.so.18", O_RDONLY|O_CLOEXEC) = 3
Тем более, что драйвер-то оно в доступных выводит, значит, либу как-то всё же, наверное, видит.
WTF и как с этим бороться?

 , ,

WereFox ()

PyQt-программист (Москва, МФТИ): 110-150 т.р.

Всем привет!

Наша команда разрабатывает софт для моделирования радиолокаторов, в связи с чем нам требуется опытный GUI-программист. Вилка — 110-150K чистыми.

Немного о проекте:

Наш проект — САПР для моделирования радиолокаторов с Simulink-подобным интерфейсом (пользователь собирает граф обработки данных из параметризуемых блоков, соединяет их порты между собой и запускает расчёт). Посмотреть, как это делается, можно на примере RapidMiner.

Задачи будут довольно сложными, хотя и интересными: зачастую из области 2D-графики, визуализации данных, тонкой логики взаимодействия с пользователем и др.

Проект новый, так что legacy-кода почти не будет.

Ваши будущие задачи:

  • Проектирование и реализация графического интерфейса
  • Опционально — взаимодействие с привлекаемыми специалистами (дизайнером, иллюстратором, мануальным тестировщиком и пр.)

Для нас важно:

  • Опыт разработки на Qt5 / PyQt5
  • Знание Python либо стойкое желание его изучить
  • Умение делать красивый и удобный GUI для сложной логики.
  • Умение писать юнит-тесты к своему GUI.
  • Хорошее ООП и умение писать понятный код.
  • Культура командной разработки: контроль версий, управление задачами и т.п.

Также будет полезно:

  • Уметь применять QML / QtQuick.
  • Понимать технический английский.
  • Если вы работали с ГИС-системами (например, ArcGIS Runtime) — это плюс.
  • Если вы работали с движками 3D-графики / 3D-визуализации данных (или сами что-нибудь писали на OpenGL) — это тоже плюс.

Наш офис:

Наш офис находится в РТ-корпусе МФТИ (Долгопрудный), это 30 минут на электричке от м. Савёловской или 15 минут на маршрутке от Алтуфьево.

Мы предлагаем:

  • Гибкий график
  • Белую зарплата.
  • Массу интересных задач.
  • Возможность выложить часть кода на GitHub.
  • Чай/кофе/печеньки = )

P.S.

Неофициальная страница лаборатории: http://miptdesigncenter.tilda.ws

Немного о наших радиолокационных проектах: http://miptdesigncenter.tilda.ws/radars

Если вас это заинтересовало — пишите на почту: nefedov.da@mipt.ru

 , ,

Yak ()

Не могу собрать PyQt5 из исходников

Хочу я собрать PyQt5 из исходников.

Для того скачал я исходники SIP, сделал с ним configure.py, сделал make и sudo make install — всё круто. Мне даже удалось собрать этим SIPом тестовую библиотечку на C++ (без Qt), и та как-то запахала.

Потом я скачал исходники PyQt5, сделал с ним configure.py, а потом сделал make. Ничто не предвещало беды.

Но когда я попытался проделать sudo make install, то тут-то меня и начали засыпать килотоннами ошибок вот такого рода:

install -m 755 -p /media/felix/0AF94FBB437A6C99/Projects/pyqt5-linux/sip/QtWidgets/qtreeview.sip /usr/share/sip/PyQt5/QtWidgets/
strip /usr/share/sip/PyQt5/QtWidgets/qtreeview.sip
strip:/usr/share/sip/PyQt5/QtWidgets/qtreeview.sip: File format not recognized
Makefile:1869: recipe for target 'install_sip' failed
make[1]: [install_sip] Error 1 (ignored)

Имею спросить: как бы мне это забороть?

P.S. Система Ubuntu 16.10 x64

 , , , ,

Yak ()

PyQt5 и PyUIC: горячие клавиши в сгенерённых виджетах не работают под Linux...

Хочу я, братцы, создать приложение на PyQt5, на Qt Widgets. А для того использую Qt Designer, чтобы сгенерить формочки, а потом PyUIC, чтобы сделать из них питоний код. Есть в тех формочках некоторые горячие клавиши, которые повешены на тамошние менюшки. Одна беда: эти горячие клавиши работают под виндами, а вот под моей Ubuntu 16.10 не делают ничего, от слова совсем. Хотя если на менюшку кликнуть мышкой, то она, конечно, сработает.

Имею спросить: а не встречался ли кто с подобным?

И да, вот держите пример: тут есть код, сгенерённый PyUICом, а в конце вставлен уже мой код (там надо, по идее, закрывать окно по нажатию Ctrl+C).

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 
#
# Created by: PyQt5 UI code generator 5.8.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_DemoWindow(object):
    def setupUi(self, DemoWindow):
        DemoWindow.setObjectName("DemoWindow")
        DemoWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(DemoWindow)
        self.centralwidget.setObjectName("centralwidget")
        DemoWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(DemoWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 25))
        self.menubar.setObjectName("menubar")
        self.menuFile = QtWidgets.QMenu(self.menubar)
        self.menuFile.setObjectName("menuFile")
        DemoWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(DemoWindow)
        self.statusbar.setObjectName("statusbar")
        DemoWindow.setStatusBar(self.statusbar)
        self.close_action = QtWidgets.QAction(DemoWindow)
        self.close_action.setObjectName("close_action")
        self.menuFile.addAction(self.close_action)
        self.menubar.addAction(self.menuFile.menuAction())

        self.retranslateUi(DemoWindow)
        self.close_action.triggered.connect(DemoWindow.close)
        QtCore.QMetaObject.connectSlotsByName(DemoWindow)

    def retranslateUi(self, DemoWindow):
        print("RETRANSLATING")
        _translate = QtCore.QCoreApplication.translate
        DemoWindow.setWindowTitle(_translate("DemoWindow", "MainWindow"))
        self.menuFile.setTitle(_translate("DemoWindow", "File"))
        self.close_action.setText(_translate("DemoWindow", "Close"))
        self.close_action.setShortcut(_translate("DemoWindow", "Ctrl+C"))





### AND HERE'S MY CODE


import sys

from PyQt5 import QtWidgets, QtGui, QtCore

class DemoWindow(QtWidgets.QMainWindow, Ui_DemoWindow):
    def __init__(self, parent=None):
        QtWidgets.QMainWindow.__init__(self, parent)
        self.setupUi(self)


if __name__ == "__main__":

    #########################################
    sys._excepthook = sys.excepthook
    def exception_hook(exctype, value, traceback):
        sys._excepthook(exctype, value, traceback)
        sys.exit(1)
    sys.excepthook = exception_hook
    ##########################################


    app = QtWidgets.QApplication(sys.argv)

    window = DemoWindow()
    window.show()

    sys.exit(app.exec_())

И да, если понадобится, то .ui-код тоже вот:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>DemoWindow</class>
 <widget class="QMainWindow" name="DemoWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget"/>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>25</height>
    </rect>
   </property>
   <widget class="QMenu" name="menuFile">
    <property name="title">
     <string>File</string>
    </property>
    <addaction name="close_action"/>
   </widget>
   <addaction name="menuFile"/>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
  <action name="close_action">
   <property name="text">
    <string>Close</string>
   </property>
   <property name="shortcut">
    <string>Ctrl+C</string>
   </property>
  </action>
 </widget>
 <resources/>
 <connections>
  <connection>
   <sender>close_action</sender>
   <signal>triggered()</signal>
   <receiver>DemoWindow</receiver>
   <slot>close()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>-1</x>
     <y>-1</y>
    </hint>
    <hint type="destinationlabel">
     <x>399</x>
     <y>299</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>

 , , ,

Yak ()

QGraphicsScene: размеры сцены вырастают сильно и скачкообразно...

Есть у меня, братцы, QGraphicsScene с несколькими объектами на ней. И когда я таскаю их мышкой, то при достижении левого края экрана сцена не просто увеличивается в размерах (что правильно), но увеличивается чертовски сильно (едва ли не вдвое) и скачкообразно (что не есть хорошо).

Вот небольшая демка (там надо перетащить один из квадратиков к левому краю экрана).


import sys

from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtWidgets import QGraphicsItem, QGraphicsTextItem, QGraphicsRectItem

if __name__ == "__main__":

    #########################################
    sys._excepthook = sys.excepthook
    def exception_hook(exctype, value, traceback):
        sys._excepthook(exctype, value, traceback)
        sys.exit(1)
    sys.excepthook = exception_hook
    ##########################################



    app = QtWidgets.QApplication(sys.argv)

    view = QtWidgets.QGraphicsView()
    view.setRenderHint(QtGui.QPainter.Antialiasing)
    view.setMouseTracking(True)
    view.setDragMode(QtWidgets.QGraphicsView.RubberBandDrag)

    scene = QtWidgets.QGraphicsScene()

    rect_item = QGraphicsRectItem(-50, -50, 100, 100)
    rect_item.setFlags(QGraphicsItem.ItemIsSelectable | QGraphicsItem.ItemIsFocusable | QGraphicsItem.ItemIsMovable)
    scene.addItem(rect_item)


    rect_item2 = QGraphicsRectItem(-50, -50, 100, 100)
    rect_item2.setFlags(QGraphicsItem.ItemIsSelectable | QGraphicsItem.ItemIsFocusable | QGraphicsItem.ItemIsMovable)
    scene.addItem(rect_item2)

    rect_item2.setPos(-120, -120)

    view.setScene(scene)
    view.showMaximized()

    sys.exit(app.exec_())

Имею спросить: а как бы мне это забороть?

 , , ,

Yak ()

Можно ли в Qt протестировать Drag'and'Drop с помощью QTest?

У меня есть графический интерфейс, написанный на PyQt. В нём активно используется drag-and-drop с одного виджета на другой (таскаем объекты с Item View, скидываем на Graphics Scene).

Хочу я протестировать мой GUI с помощью QTest. Пишу код примерно такого плана:


    item_rect = self.main_wnd.tree_view.visualRect(constant_index) # this is the index of the item I want to drag

    QtTest.QTest.mouseMove(self.main_wnd.tree_view.viewport(), item_rect.center(), 300) # указатель мышки движется, ОК
    QtTest.QTest.mousePress(self.main_wnd.tree_view.viewport(), QtCore.Qt.LeftButton, QtCore.Qt.KeyboardModifiers(), 
                                item_rect.center(), 300)  # элемент выбирается, как и положено после нажатия мышкой, но и только.

    QtTest.QTest.mouseMove(self.main_wnd._scene_views[None].viewport(), QtCore.QPoint(), 300)  # указатель мышки движется, но без таскания чего бы то ни было
    QtTest.QTest.mouseRelease(self.main_wnd.tree_view.viewport(), QtCore.Qt.LeftButton, QtCore.Qt.KeyboardModifiers(),
                                constant_rect.center(), 300)  # ничего не происходит

Однако не тут-то было: да, указатель мышки куда надо перемещается, нужный элемент в Item View выделяется, а затем перемещается и в центр моей сцены. Но ни Drag Event, ни Drop Event, к сожалению, там не происходит.

Имею спросить: а как бы это забороть?

 , ,

Yak ()

pyqt и asyncio

Есть такая библиотека написанная на asyncio - panoramisk. она слушает события. https://github.com/gawel/panoramisk/blob/master/examples/event_listener.py

@manager.register_event('*')
def callback(event, manager):
    if "FullyBooted" not in manager.event:
        """This will print every event, but the FullyBooted events as these
        will continuously spam your screen"""
        print(manager)
Как мне вместо print вызывать виджет допустим Qlabel на pyqt? так чтобы этот loop продолжался выполняться? А не завершался как только окно закрыто с этим виджетом?

 , ,

tits ()

Connect PyQt5 signal to C++ Slot

Есть ли вообще такая возможность?

Можно ли сделать это просто или надо обмазываться методами из Python.h?

 , , , ,

theLastOfCats ()

Удаление виджета в PyQt5

Допустим, есть QVBoxLayout, в который динамически добавляются кнопки:

labels = ['Button 1', 'Button 2', 'Button 3']
for label in labels:
    button = QPushButton(label)
    self.vbox.addWidget(button)

Это происходит внутри метода класса и по идее все переменные локальные, так что должны уничтожиться после выхода из него (если сделать button = None в конце, то ничего не меняется).

А затем в какой-то момент времени мы хотим удалить эти кнопки:

while self.target_buttonbox.takeAt(0):
    pass

В результате данного цикла кнопки удаляются лишь из layout'а, но не сами объекты. Это выглядит как видимые кнопки, которые больше не подчиняются layout. Если же делать не просто takeAt, а вызывать deleteLater к полученному takeAt виджету, то приложение крашится.

Как правильно удалить все виджеты окончательно?

 , , ,

KivApple ()

Ускорить запуск pyqt программки через multiprocessing

Всем привет!

Люди, пожалуйста, помогите разобраться с multiprocessing в pyqt. Хочу изменить картинку на QLabel через дочерний процесс. Такой код:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from multiprocessing import Process, Pool


class Test(QWidget):
    def __init__(self):
        super().__init__()
        self.layout = QVBoxLayout()
        self.setLayout(self.layout)

        self.label = QLabel()
        self.layout.addWidget(self.label)

        self.pixmap = QPixmap()


def set_pixmap(classname=None):
    classname.pixmap.load('test.jpg')
    classname.label.setPixmap(classname.pixmap)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    test = Test()
    test.show()

    proc = Process(target=set_pixmap, kwargs={'classname': test})
    proc.start()
    proc.join()

    # pool = Pool()
    # pool.map(set_pixmap, (test,))
    # pool.close()
    # pool.join()

    sys.exit(app.exec_())

В таком виде картинка не появляется. Если через pool запускать, то валятся ошибки:

Process ForkPoolWorker-1:
Traceback (most recent call last):
  File "/usr/lib/python3.5/multiprocessing/process.py", line 254, in _bootstrap
    self.run()
  File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.5/multiprocessing/pool.py", line 108, in worker
    task = get()
  File "/usr/lib/python3.5/multiprocessing/queues.py", line 345, in get
    return ForkingPickler.loads(res)
RuntimeError: super-class __init__() of type Test was never called

Читал, что виджеты в pyqt должны быть созданы в главном потоке: у меня так и есть, вроде, у виджета только свойство меняю. Можно ли дочерним процессом установить QPixmap?

 , ,

rmu ()

Как добавить окно в mdiArea d PyQt5?

Всем привет. Знающие подскажите пожалуйста как добавлять окна в mdiArea. Вот я набросал очень простенький пример, но у меня не работает. Я примерно понимаю почему не работает но не знаю как исправить.

Код

import sys
from PyQt5.QtWidgets import *
from PyQt5 import QtGui, QtCore
from PyQt5.uic import loadUiType

app = QApplication(sys.argv)
main_class, base_class = loadUiType('main.ui')
dialog_1_class, dialog_1_base_class = loadUiType("dialog.ui")


class MainWindow(QMainWindow, main_class):
    def __init__(self, *args):
        super(MainWindow, self).__init__(*args)
        self.setupUi(self)
        dialog1 = Dialog
        self.mdiArea.addSubWindow(dialog1)


class Dialog(QWidget, dialog_1_class):
    def __init__(self, *args):
        super(Dialog, self).__init__(*args)
        self.setupUi(self)

main = MainWindow()
main.show()
sys.exit(app.exec_())



Скрин редактора
http://dl2.joxi.net/drive/2016/04/01/0010/0371/717171/71/21922baa4f.jpg

Текст ошибки - TypeError: QMdiArea.addSubWindow(QWidget, Qt.WindowFlags flags=0): argument 1 has unexpected type 'PyQt5.QtCore.pyqtWrapperType'

 ,

Meller ()

PyQT: Не отображается menubar

Доброго времени суток. Есть приложение на pyiq, которое отлично работает под windows и debian. При запуске приложения в fedora 20 не отображается menubar, и в гноме и KDE результат одинаковый. QtGui.QMainWindow().menuBar.setNativeMenuBar(False) QtGui.QMainWindow().menuBar(Qt.AA_DontUseNativeMenuBar) не помогают. Похоже что это связанно именно с графической оболочкой самой федоры. Подскажите, пожалуйста, в какую сторону копать.

 , ,

Claorisel ()

Актуальность tkinter

Вот дочитываю «Программирование на Python» Лутца и возник вопрос.
Стоит ли изучать и использовать библиотеку tkinter более глубоко, с помощью её создают какие-либо полезные приложения?
Или не забивать голову и сразу переключаться на PyQt?

 , ,

Alternating_Current ()

Не устанавливается PyQt

Пытаюсь установить PyQt в Debian. Добрался до make install. Не устанавливается - получаю много таких ошибок

cd QtCore/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /media/truecrypt1/downloads/PyQt-gpl-5.5.1/QtCore/QtCore.pro -o Makefile ) && make -f Makefile install
make[1]: Entering directory '/media/truecrypt1/downloads/PyQt-gpl-5.5.1/QtCore'
install -m 644 -p /media/truecrypt1/downloads/PyQt-gpl-5.5.1/QtCore/QtCore.so /usr/lib/python2.7/dist-packages/PyQt5/
install -m 755 -p /media/truecrypt1/downloads/PyQt-gpl-5.5.1/sip/QtCore/qabstractanimation.sip /usr/share/sip/PyQt5/QtCore/
strip /usr/share/sip/PyQt5/QtCore/qabstractanimation.sip
strip:/usr/share/sip/PyQt5/QtCore/qabstractanimation.sip: File format not recognized
Makefile:2008: recipe for target 'install_sip' failed
make[1]: [install_sip] Error 1 (ignored)
install -m 755 -p /media/truecrypt1/downloads/PyQt-gpl-5.5.1/sip/QtCore/qabstracteventdispatcher.sip /usr/share/sip/PyQt5/QtCore/
strip /usr/share/sip/PyQt5/QtCore/qabstracteventdispatcher.sip
strip:/usr/share/sip/PyQt5/QtCore/qabstracteventdispatcher.sip: File format not recognized
Makefile:2008: recipe for target 'install_sip' failed
make[1]: [install_sip] Error 1 (ignored)
install -m 755 -p /media/truecrypt1/downloads/PyQt-gpl-5.5.1/sip/QtCore/qabstractitemmodel.sip /usr/share/sip/PyQt5/QtCore/
strip /usr/share/sip/PyQt5/QtCore/qabstractitemmodel.sip
strip:/usr/share/sip/PyQt5/QtCore/qabstractitemmodel.sip: File format not recognized

 , ,

user08 ()

Eric и PyQt5 в Gentoo

Хочу собрать самый свежий eric-6.1.1 с поддержкой PyQt5 и Python 3. Взял отсюда ебилд для 6.0.5, положил в локальный оверлей под именем eric-6.1.1.ebuild и немного отредактировал: поменял зависимость с PyQt4 на PyQt5 (ебилд). Но он не собирается:

>>> Install eric-6.1.1 into /var/tmp/portage/dev-util/eric-6.1.1/image/ category dev-util
Checking dependencies
Python Version: 2.7.11
Found PyQt5
Sorry, please install QScintilla2 and
its PyQt5/PyQt4 wrapper.
Error: cannot import name Qsci
 * ERROR: dev-util/eric-6.1.1::locus failed (install phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line 133:  Called src_install
 *   environment, line 3102:  Called die
 * The specific snippet of code:
 *       "${PYTHON}" install.py -b "${EPREFIX}/usr/bin" -d "$(python_get_sitedir)" -i "${D}" -c -z || die;
 * 
 * If you need support, post the output of `emerge --info '=dev-util/eric-6.1.1::locus'`,
 * the complete build log and the output of `emerge -pqv '=dev-util/eric-6.1.1::locus'`.
 * The complete build log is located at '/var/tmp/portage/dev-util/eric-6.1.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-util/eric-6.1.1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-util/eric-6.1.1/work/eric6-6.1.1'
 * S: '/var/tmp/portage/dev-util/eric-6.1.1/work/eric6-6.1.1'

При этом:

# eix-installed all | grep qscintilla
dev-python/qscintilla-python-2.9.1
x11-libs/qscintilla-2.9.1

И почему он видит только Python 2.7.11?

 , , ,

alexferman ()