Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

PyQT4/5 App
http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=18091
Страница 1 от 1

Автор:  Martin91 [ Пон Ное 08, 2021 9:22 pm ]
Заглавие:  PyQT4/5 App

Здравейте, опитвам се да стартирам този проект, но получавам грешки.
https://github.com/molodoj88/xbee-gui?f ... 6A164fJ3_M

Някаква помощ ?

Прикачени файлове:
2542.jpg
2542.jpg [ 104.62 KiB | Прегледано 8218 пъти ]

Автор:  Реконструктор [ Нед Ное 14, 2021 3:08 pm ]
Заглавие:  Re: PyQT4/5 App

Не ползвай кирилица

Автор:  Martin91 [ Нед Ное 21, 2021 2:43 pm ]
Заглавие:  Re: PyQT4/5 App

Ако имате предвид Руските коментари в кода, съм ги променил на Английски, но си е същото.

Предложиха ми да добавя този ред:
Код:
Import json
json.load("yourfilebame.json", "utf-8")


Но сега ми излиза тази грежка:
Код:
File "C:/xbee-gui-master/XbeeCommands.py", line 13, in <module>
    descriptions = json.load(jsonFile.json,"utf-8")
AttributeError: '_io.TextIOWrapper' object has no attribute 'json'


Някаква идея ?

Автор:  gicho [ Нед Ное 21, 2021 5:18 pm ]
Заглавие:  Re: PyQT4/5 App

import с малка буква, не с главна.
Коя версия ти е питона и под какъв ОС? Има разлика между python2 и python 3.
За бързи проби има т.нар. "python repl" онлайн - например: https://replit.com/languages/python3
Този код (с коригиран import) дава:
Код:
Traceback (most recent call last):
  File "main.py", line 2, in <module>
    json.load("yourfilebame.json", "utf-8")
TypeError: load() takes 1 positional argument but 2 were given

Като стане така запалваш гугъла и търсиш "python3 json.load" - отиваш на https://docs.python.org/3/library/json.html и търсиш какво очаква като втори позиционен аргумент - демек, няма такъв, то си пише и в грешката.
Като махнеш втория става по-ясно:
Код:
Traceback (most recent call last):
  File "main.py", line 2, in <module>
    json.load("yourfilebame.json")
  File "/usr/lib/python3.8/json/__init__.py", line 293, in load
    return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'

Ако се беше зачел в документацията, щеше да видиш същото - първият аргумент не е име на файл, а хендъл към вече отворен файл. Т.е. трябва да повикаш първо отваряне на файла, и резултата да ползваш за единствен аргумент.
Сега, ако тоя код някога някъде е работил, много вероятно е да е ползван друг модул за json или много различна версия.
Приличен начин да отвориш файла и да го парсираш през json.load е този пример:
Код:
import json

with open('yourfilebame.json') as f:
  data = json.load(f)

# Output
print(data)

Като гледаш, става ясно че който ти го е "предложил" не е уцелил тотото - трябва да "хванеш" връщаното при парсирането в променлива за да го позлваш после (data в примера).

Какъв е тоя код дето искаш да го пускаш?

Едит: видях линка. Ама там пише:
Код:
from xbee import XBee
import json
import os

with open("CommandDescriptions.json") as jsonFile:
    descriptions = json.load(jsonFile)

Това е отвсякъде коректно - пусната на pytjon 3 repl вади че не може да намери конкретния файл, което е очаквано:

Код:
Traceback (most recent call last):
  File "main.py", line 4, in <module>
    with open("CommandDescriptions.json") as jsonFile:
FileNotFoundError: [Errno 2] No such file or directory: 'CommandDescriptions.json'


Всъщност проблемът е в съдържанието/енкодинга да самия json файл с командите. Отвори го в качествен редактор и го смени на нещо нормално - може би utf-8. Доколкото разбирам, при теб е cp-1251.
При мен всичко изглежда добре - дръпнах го с git и под ubuntu си отваря файла и парсира нормално. Да не би да теглил зип, или да си ровичкал из файла с недоклатен редатор?

Автор:  Martin91 [ Пон Ное 22, 2021 10:20 pm ]
Заглавие:  Re: PyQT4/5 App

Ползвам Python 3. Редактора ми е PyCharm. ОС- WIN 7.
Да, свалих го като .zip. Винаги съм свалял така и до сега не съм имал такива проблеми.
Пробвах utf-8, но нещо не се получи (кодът от предходният ми пост).

Как да оправя нещата чрез utf-8 ?

Автор:  michev [ Пон Ное 22, 2021 11:23 pm ]
Заглавие:  Re: PyQT4/5 App

Направих малък тест - заредих само JSON-a от файл и нямаше никакви драми. За тест обърнах енкодинга на файла до windows-1251 и разбираемо веднага се разсърди. Обърнах го обратно до UTF-8 и нямаше проблеми. Добавянето на UTF-8 BOM не го изкефи хич, та не трябва да го има.
Прикачената снимка е от долният десен ъгъл на IDE-то. От там можеш да смениш ендкодинга и да премахнеш ако се налага UTF-8 BOM-a.
Прикачени файлове:
intellij-encoding.png
intellij-encoding.png [ 27.99 KiB | Прегледано 7909 пъти ]

Автор:  Martin91 [ Вто Ное 23, 2021 3:24 pm ]
Заглавие:  Re: PyQT4/5 App

Преведох всичко от json файла на Английски и се оправи тази грешка.

Сега в MainForm файла имам следната грешка:

Код:
File "C:/xbee-gui-master/MainForm.py", line 18, in <module>
    class Block(QtGui.QMainWindow, QtGui.QTreeView):
NameError: name 'QtGui' is not defined


Може ли някакви съвети?

Автор:  Martin91 [ Нед Ное 28, 2021 3:02 pm ]
Заглавие:  Re: PyQT4/5 App

Най-накрая го подкарах, но като го тествам не събира никакви модули.

Прикачени файлове:
Xbee-gui error.jpg
Xbee-gui error.jpg [ 69.31 KiB | Прегледано 7768 пъти ]

Автор:  Martin91 [ Сря Дек 08, 2021 9:57 pm ]
Заглавие:  Re: PyQT4/5 App

Каква може да е причината, приложението да не може да зарежда Xbee модулите ?

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/