Меню

From pyqt5 import uic ошибка

import PyQt5 import uic

SyntaxError: invalid syntax

введите сюда описание изображения

делаю все по видео https://www.youtube.com/watch?v=90xZtB3bbcg, но дальше не могу продвигаться, ибо никак не разберусь как это исправить. Я новичок в программировании, надеюсь на поддержку, спасибо

вот код:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import uic


import os

class App(QWidget):
    def __init__(self):
        self.start()
        self.ui.show()

    def start(self):
        self.ui = uic.loadUi('calc.ui')


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    app.exec_()

задан 19 дек 2020 в 13:45

Squidward's user avatar

11

Просмотрите видео еще раз. Там написано

from PyQt5 import uic

ответ дан 19 дек 2020 в 13:52

mega asda's user avatar

mega asdamega asda

4552 серебряных знака15 бронзовых знаков

20

Так у Вас не с импортом проблема. На скриншоте же написано, что ошибка в отсутствии файла calc.ui, а не в импорте uic. Скорее всего, вы просто забыли поместить файл calc.ui в папку с calc.py

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

ответ дан 19 дек 2020 в 14:30

kto's user avatar

ktokto

251 серебряный знак7 бронзовых знаков

3

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

from pathlib import Path 
cur_dir = Path(__file__).resolve().parent
print("Директория скрипта", cur_dir)
# ... Ваш код ...
def start(self):
        self.ui = uic.loadUi(cur_dir / 'calc.ui')

Далее в консоли проверьте чтобы путь запуска был = пути скрипта. Текст перед тем где вы набираете команду. В принципе все должно работать. Еще если вы преобразуете calc.ui -> calc.py то это надо отразить и в коде.

Скорее всего Вы просто запутались с путями в системе, а также возможно с тем какой питон использует скрипт системный или виртуальное окружение.

ответ дан 19 дек 2020 в 17:13

Kers's user avatar

KersKers

3,1462 золотых знака7 серебряных знаков16 бронзовых знаков

4

[idnovic@id-lappy ~]0$ maestral-gui 
Warning: PyQt5 is required to run the Maestral GUI. Run `pip install pyqt5` to install it.
Traceback (most recent call last):
  File "/home/idnovic/.local/bin/maestral", line 11, in <module>
    load_entry_point('maestral==0.2b0', 'console_scripts', 'maestral')()
  File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/idnovic/.local/lib/python3.7/site-packages/maestral/console_script.py", line 30, in gui
    from maestral.gui.main import run
  File "/home/idnovic/.local/lib/python3.7/site-packages/maestral/gui/main.py", line 26, in <module>
    from maestral.gui.settings_window import SettingsWindow
  File "/home/idnovic/.local/lib/python3.7/site-packages/maestral/gui/settings_window.py", line 13, in <module>
    from PyQt5 import QtGui, QtCore, QtWidgets, uic
ImportError: cannot import name 'uic' from 'PyQt5' (/usr/lib64/python3.7/site-packages/PyQt5/__init__.py)
[idnovic@id-lappy ~]1$ pip3 install --user pyqt5
Requirement already satisfied: pyqt5 in /usr/lib64/python3.7/site-packages (5.12.2)

It seems I have the dependency installed but still have an import problem.
Do you have suggestions?

0 / 0 / 0

Регистрация: 08.03.2021

Сообщений: 153

1

12.07.2021, 12:44. Показов 7870. Ответов 4


Всем доброе утро! Проблема детская,но я всё обыскал,не могу понять-установил питон(PATH отметил),в Pycharm установил интерпретатор,скачал через cmd pyuic5 и проблем нет.Но не могу компилировать ui в py(какие только варианты команд не пробовал).Ошибка одна и та же- «pyuic5-uic» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

12.07.2021, 12:44

4

Модератор

Эксперт Python

2322 / 1388 / 473

Регистрация: 21.02.2017

Сообщений: 3,816

Записей в блоге: 1

12.07.2021, 12:56

2

FagotPetrova, заходим в папку PyQt5, там в корне лежит нужный exe файл, профит.



0



0 / 0 / 0

Регистрация: 08.03.2021

Сообщений: 153

12.07.2021, 14:57

 [ТС]

3

exe файла там нет,хотя пакет установил через pip.А зачем мне exe?



0



Fudthhh

Модератор

Эксперт Python

2322 / 1388 / 473

Регистрация: 21.02.2017

Сообщений: 3,816

Записей в блоге: 1

12.07.2021, 15:17

4

Лучший ответ Сообщение было отмечено FagotPetrova как решение

Решение

FagotPetrova, вперед читать доки по PyQt5(PySide2) — pyuic(uic) это исполняемый файл который находится в составе пакета.

Добавлено через 40 секунд
И тем более:

Во-первых, какая разница где он располагается, лишь бы работал. Во-вторых, ui-файлы можно использовать и без конвертации:

Python
1
2
3
4
5
6
7
from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow
 
class MainWindow(QMainWindow):
   def __init__(self):
      super(MainWindow, self).__init__()
      uic.loadUi('mainwindow.ui', self)



0



0 / 0 / 0

Регистрация: 08.03.2021

Сообщений: 153

12.07.2021, 15:28

 [ТС]

5

Только что хотел написать,что понял.Спасибо



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

12.07.2021, 15:28

Помогаю со студенческими работами здесь

«pip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом в pycharm
Добрый день, ломаю голову над ошибкой уже 3 дня! Когда пишу “pip” в cmd — все нормально работает,…

«webpack-dev-server» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
C:pycharmdutyvueapp&gt;npm run dev

&gt; vueapp@1.0.0 dev C:pycharmdutyvueapp
&gt;…

Php не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Не могу запустить программу в cmd. Захожу в каталог, набираю php …php но пишет что php не…

Tasm не является внутренней или внешней командой, исполняемой программой или пакетным файлом
пытаюсь разобраться и ни как не могу понять почему у меня в командной строке при переходе к папке…

Node не является внутренней или внешней командой исполняемой программой или пакетным файлом
Помогите, пожалуйста!!! при любых командах (например, npm install, bower install), в командной…

Telnet не является внутренней или внешней командой, исполняемой программой или пакетным файлом
&quot;telnet&quot; не является внутренней или внешней командой, исполняемой программой или пакетным…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

5

Я пытаюсь импортировать PyQt5.uic для загрузки файла пользовательского интерфейса в скрипт pycharm python, но получаю ошибку: не удается найти ссылку ‘uic’ в ‘ init .pyi | init .pyi
Я пробовал много решений, таких как invaildate cache и restart, а также удалить старую версию из python и сохранить мою текущую версию, которая 3.9

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import * 
from PyQt5.uic import loadUiType # error appears here

1 ответ

Лучший ответ

Я как бы исправил проблему, проблема была в самом PyCharm, в версии PyQt5 или python проблем нет. Когда я попробовал ее на VSCode, у меня не было проблем с кодом, если вы хотите решить ее на PyCharm, это легко, Просто продолжайте писать код!
Это ошибка из Pycharm, как я заметил выше, ошибки нет, поэтому в pycharm код будет таким:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.uic import loadUiType #error appears here
import os
from os import path

FORM_CLASS, _ = 
loadUiType(path.join(path.dirname(__file__), 
"Theme.UI")) # there is no error here!

И запустите код, все заработает!


1

Yusuf Taha
24 Ноя 2020 в 10:35

I’ve just updated to the current version (2.18.5 on Windows) of QGIS, in the hope of getting rid of the above error, without success. Some time ago I tried to install the QField Sync plugin, which I believe was the first time I saw this error.

One thing I notice is the weird file path apps/qgis/./pythonqgis, it’s got slashes going both ways and a dot in the middle! If you ignore the weirdness the path does exist though.

ImportError: cannot import name uic 
Traceback (most recent call last):
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 308, in loadPlugin
    __import__(packageName)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 607, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/pluginsprocessing__init__.py", line 29, in 
    from processing.tools.general import *              # NOQA
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 607, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/pluginsprocessingtoolsgeneral.py", line 31, in 
    from processing.core.Processing import Processing
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 607, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/pluginsprocessingcoreProcessing.py", line 42, in 
    from processing.script.ScriptUtils import ScriptUtils
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 607, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/pluginsprocessingscriptScriptUtils.py", line 30, in 
    from processing.script.ScriptAlgorithm import ScriptAlgorithm
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 607, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/pluginsprocessingscriptScriptAlgorithm.py", line 34, in 
    from processing.gui.Help2Html import getHtmlFromHelpFile
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./pythonqgisutils.py", line 607, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/pluginsprocessinggui__init__.py", line 1, in 
    from qgis.PyQt import uic
ImportError: cannot import name uic


Python version: 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] 
QGIS version: 2.18.5 Las Palmas, 140a01f 

Python Path:
C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python
C:/Users/marcp/.qgis2/python
C:/Users/marcp/.qgis2/python/plugins
C:/PROGRA~1/QGIS2~1.18/apps/qgis/./python/plugins
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesmatplotlib-1.3.1-py2.7-win-amd64.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesnose-1.3.3-py2.7.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagestornado-4.0.1-py2.7-win-amd64.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesbackports.ssl_match_hostname-3.4.0.2-py2.7.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagescertifi-14.05.14-py2.7.egg
C:PROGRA~1QGIS2~1.18binpython27.zip
C:PROGRA~1QGIS2~1.18appsPython27DLLs
C:PROGRA~1QGIS2~1.18appsPython27lib
C:PROGRA~1QGIS2~1.18appsPython27libplat-win
C:PROGRA~1QGIS2~1.18appsPython27liblib-tk
C:PROGRA~1QGIS2~1.18bin
C:PROGRA~1QGIS2~1.18appsPython27
C:PROGRA~1QGIS2~1.18appsPython27libsite-packages
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesPIL
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesjinja2-2.7.2-py2.7.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesmarkupsafe-0.23-py2.7-win-amd64.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packageswin32
C:PROGRA~1QGIS2~1.18appsPython27libsite-packageswin32lib
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesPythonwin
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesShapely-1.2.18-py2.7-win-amd64.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packageswx-2.8-msw-unicode
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesxlrd-0.9.2-py2.7.egg
C:PROGRA~1QGIS2~1.18appsPython27libsite-packagesxlwt-0.7.5-py2.7.egg
C:/Users/marcp/.qgis2//python

Trying to install PyQt5, the »make install» command ended by issuing a warning related to pyuic5 file format (see bellow)

the python path is set as

PYTHONPATH=/usr/lib/python3.2/site-packages/PyQt5

When testing I face these issues

modules not found

help('modules')

doesn’t display any PyQt5 module

Conversion error

Trying to convert a .ui file to a python module

$  pyuic5 mywindow.ui -o mywindow_ui.py

results in

/usr/bin/python3: No module named PyQt5.uic

Can’t convert UI nor embedded QT resources anymore (pyrcc5 fails as pyuic5)

Build

the build seems succesfull as the /usr/lib/python3.2/site-packages directory content is

/usr/lib/python3.2/site-packages/PyQt5$ ls
__init__.py               QtNetwork.so       QtSql.so
_QOpenGLFunctions_2_0.so  QtOpenGL.so        QtSvg.so
QtBluetooth.so            QtPositioning.so   QtTest.so
QtCore.so                 QtPrintSupport.so  QtWebKit.so
QtDBus.so                 QtQml.so           QtWebKitWidgets.so
QtDesigner.so             QtQuick.so         QtWebSockets.so
QtGui.so                  QtQuickWidgets.so  QtWidgets.so
QtHelp.so                 QtSensors.so       QtX11Extras.so
QtMultimedia.so           QtSerialPort.so    QtXmlPatterns.so
QtMultimediaWidgets.so    Qt.so              uic

Building environment

  • debian 7.5 (wheezy)
  • python3.2 standard package
  • SIP 4.16.1 from sources
  • Qt5.3 located at ~/Qt/5.3/gcc_64
  • PyQt5 from sources

Build sequence

In the extracted PyQt5 source directory

$ python3 configure.py --qmake /home/jeby6372/Qt/5.3/gcc_64/bin/qmake
$ make
$ sudo make install

make install log

make[1]: Entering directory `/home/jeby6372/pack/PyQt-gpl-5.3/pyrcc'
install -m 755 -p "pyrcc5" "/usr/bin/pyrcc5"
strip "/usr/bin/pyrcc5"
make[1]: Leaving directory `/home/jeby6372/pack/PyQt-gpl-5.3/pyrcc'
install -m 644 -p /home/jeby6372/pack/PyQt-gpl-5.3/__init__.py /usr/lib/python3.2/site-packages/PyQt5/
cp -f -R /home/jeby6372/pack/PyQt-gpl-5.3/pyuic/uic /usr/lib/python3.2/site-packages/PyQt5/
install -m 755 -p /home/jeby6372/pack/PyQt-gpl-5.3/pyuic5 /usr/bin/
strip /usr/bin/pyuic5
strip:/usr/bin/pyuic5: File format not recognized
make: [install_pyuic5] Error 1 (ignored)

Any idea to solve that ?

This bug affects 1 person

Affects Status Importance Assigned to Milestone


pyqt5 (Ubuntu)

Invalid

Undecided


Unassigned

Bug Description

The python3-pyqt5’s pyuic module doesn’t appear to work under upcoming Ubuntu Yakkety.

Normally, executing a script (with no additional argument) which simply calls «from PyQt5.uic import pyuic» would return an error in the console saying Error: one input ui-file must be specified. However, right now, loading the module simply fails, with no error output. Adding an argument also fails to make the module work.

I’ve discovered this while attempting to build QGIS using an up-to-date development version of Yakkety. The current version of this package (pythong-3pyqt5) is 5.7+dfsg-2.

@JonB said in I can’t import .ui file: No module named error:

@hernancrespo89
This is way thrown out there on a hunch: if the file named histogram shown in the UI is relevant, why is not named histogram.py?

this is my reference, and there is no histogram.py there.

And please copy & paste the full text (we can’t see the top) of the traceback here (not screenshot).

Here is the full traceback:

Traceback (most recent call last):

File "C:/Users/mustafa/Desktop/histogram6/histogram", line 68, in <module>
  ex = Display_Histogram()
File "C:/Users/mustafa/Desktop/histogram6/histogram", line 36, in __init__
  loadUi("histogram.ui", self)
File "C:Python35libsite-packagesPyQt5uic__init__.py", line 226, in loadUi
  return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)
File "C:Python35libsite-packagesPyQt5uicLoaderloader.py", line 72, in loadUi
  return self.parse(filename, resource_suffix, basedir)
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 1000, in parse
  actor(elem)
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 807, in createUserInterface
  self.traverseWidgetTree(elem)
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 785, in traverseWidgetTree
  handler(self, child)
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 262, in createWidget
  self.traverseWidgetTree(elem)
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 785, in traverseWidgetTree
  handler(self, child)
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 253, in createWidget
  self.stack.push(self.setupObject(widget_class, parent, elem))
File "C:Python35libsite-packagesPyQt5uicuiparser.py", line 217, in setupObject
  obj = self.factory.createQObject(clsname, name, args, is_attribute)
File "C:Python35libsite-packagesPyQt5uicobjcreator.py", line 106, in createQObject
  factory = self.findQObjectType(classname)
File "C:Python35libsite-packagesPyQt5uicobjcreator.py", line 131, in findQObjectType
  w = module.search(classname)
File "C:Python35libsite-packagesPyQt5uicLoaderqobjectcreator.py", line 115, in search
  module = __import__(mname, {}, {}, (cls,))
ImportError: No module named 'histogram'

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • From keras models import sequential ошибка
  • From imageai detection import objectdetection ошибка