Pyuic5 error in input file not well formed invalid token line 1 column 1

[Found solution by Ellison Wells] Meta Stack Overflow , Stack Overflow help chat ,Stack Overflow en español,Stack Overflow на русском

Answer by Ellison Wells

Meta Stack Overflow

,

Stack Overflow

help
chat

,Stack Overflow en español,Stack Overflow на русском

Some installation issue i guess

pyuic4 notepad.ui > notepad.py

Answer by Chaim Schmitt

pyuic5 -x {your ui file.ui} -o {output py file.py}

Answer by Juliana Black

it works fine, but when i try converting the files back after i’m done editing them,Why are you converting it back?,i tried converting the files back without editing them to see if it was a problem with my code but i still got the same error.,Convert to .py, import from your script to use it. (Don’t modify the generated .py file)

i’m creating a project with PyQt5 and the Qt Designer, whenever i convert .ui to .py for editing and signals using

pyuic5 -x untitled.ui -o untitled.py

it works fine, but when i try converting the files back after i’m done editing them

pyuic5 -x untitled.py -o untitled.ui

i get this error.

Error in input file: not well-formed (invalid token): line 1, column 1

Answer by Trevor Rivera

After that, I started up qt designer (found in my PyQT4 folder), made some simple GUI and when I got to the part of converting the .ui file to .py file I get an error that goes like this:,I started up cmd prompt, did that cd E:…. thing, went to my folder where my simple GUI is saved and wrote this line in cmd:,That error means that you have to add to the PATH environment variable the folders containing Python’s executable/interpeter and binaries you use from qt (pyuic4, pyrcc4, …). In your case you have to add:,I downloaded file named PyQt4-4.11.1-gpl-Py3.4-Qt4.8.6-x64.exe (first one under binary packages), then I downloaded python 3.4.1 from here https://www.python.org/download/ (an x64 version just like pyqt).

After that, I started up qt designer (found in my PyQT4 folder), made some simple GUI and when I got to the part of converting the .ui file to .py file I get an error that goes like this:

'"E:PyQT4python"' is not recognized as an internal or external command, operable program or batch file.

I started up cmd prompt, did that cd E:.... thing, went to my folder where my simple GUI is saved and wrote this line in cmd:

 pyuic4 -o TestniGUI_ui.py TestniGUI.ui

Answer by Arlo Lowe

Qt designer is a powerful tool to design pyqt gui. It will create some ui files.,However, in order to use these ui files in python, we should convert them to .py files. In this tutorial, we will introduce you how to convert.,However, if you encounter Error: one input ui-file must be specified. You can fix this error by this tutorial:,

Python 3.x Print without Newline for Python Beginners – Python Tutorial

Then, we can use pyuic5 command to convert. Here is an example:

pyuic5 -o designer.py designer.ui

  1. Home
  2. Anzan
  3. Install mental calculation on linux

Thanks for your job with all of this!
I’ve been trying to install mentalcalculation-0.5.2.tar.gz on a PC with Linux Mint, but I have the next exit on the terminal:
$cd gui
$pyuic5 settings.ui > settings.py
error in input file: not well-formed (invalid token): line 1, column1

Hi.
That is weird.
What version of Linux Mint are you using ? What version of pyqt5-dev-tools do you have ?

But, also, I don’t understand, because in the tar.gz, there is only .py files and no .ui files. Where did you get that .ui files ? Where does it come from ? Are you using a git clone ?

Thanks, I have python and all version in 3.8.
And Linux mint 20.04 updated.
I just follow the instructions from https://github.com/solsticedhiver/mental… :
-You need to generate the python files needed for the gui with the following commands:
cd gui
pyuic5 settings.ui > settings.py
pyuic5 main.ui > main.py

But if I just run it, ($python3 mentalcalculation.py) the software works, but… on terminal shows:
ERROR: can’t download sound for 5 (or the number generated).
I have tried with an old version (0.4.0.2) and the error is: ERROR: # not found in sounds.

So finally I have the same question, How can I generate the gui.

PS: and about the sound for numbers, what can I do.

I have tried the pyuic5 command in a Linux Mint 20.3 installation; and it is ok for me. I don’t see any error when running them, both.

By Mint 20.04, you meant 20.3 ?

what you have to do is run:

cd gui
pyuic5 settings.ui > settings.py
pyuic5 main.ui > main.py
cd ..
python mentalcalculation.py

For the sound error message, this means the sound file can’t be donwloaded from our server. Try relaunching the app, and checking your internet connection.

Thanks. I’ve understood, and feel a bit ashamed.
Now I have noted a rare behavior, when I start the Software…
Start and disable speech synthesis
the GUI does not show any number, nor sound, it only keeps white.
Then re-enable speech synthesis (any Lang) and works fine.

mentalcalculation-0.5.2$ python3 mentalcalculation.py
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 1074, resource id: 56623627, major code: 40 (TranslateCoords), minor code: 0
Traceback (most recent call last):
File «mentalcalculation.py», line 477, in startPlay
self.player.stateChanged.disconnect(self.clearLabel)
TypeError: ‘method’ object is not connected
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 2789, resource id: 56623638, major code: 40 (TranslateCoords), minor code: 0
Error: can’t download sound for 5
Error: can’t download sound for 9
Error: can’t download sound for 9
Error: can’t download sound for 3
Error: can’t download sound for 3

Finally, Is there a way in which I can use speech synthesis? So I should not download the sound from the web (It’s expensive). Or May I create the sounds locally, almost for numbers till to one hundred?
Thanks a lot for your time and support.

Well, I will look into this bug, and found out what is happening, when I have time.

The older version of this software was using espeak. an offline speech synthesis software; the available languages were limited, and it is complicated to setup; but it was offline;

The problem is, it is not working right now, because it was using the older python2 and qt4.
I will look this week I hope, to make a fork/branch of the last version with espeak.

Stay tuned ;-)

So I made a branch on github called ‘espeak’.

You can use a tracking branch if you have kept your clone of the repo:

cd mental_calculation
git checkout —track origin/espeak

Or if you have deleted it, start directly by cloning that branch with:

git clone —branch espeak https://github.com/solsticedhiver/mental…

Then

cd gui
pyuic5 settings.ui > settings.py
pyuic5 main.ui > main.py
cd ..
python3 mentalcalculation.py

It is a quick work, but that should work.

Thank you so much for this new release, I will try it and write back again, thanks.

Chrome7
замечал, что это не корректный способ, но в моем случае он отработал идеально.

Завтра тебе пришлют новый документ, в котором будет смесь из амперсандов и сущностей — и твой сегодняшний код сломает завтрашний документ, повредив сущности.

То есть ты написал костыль. Пока человек идёт на костылях по улице, это выглядит приемлемо и похоже на обычного человека без костылей, но если вдруг ему нужно будет успеть на автобус, двери которого вот-вот закроются, то он не только его не догонит, но ещё и упадёт прямо на улице, не удержав костыли при беге, и будет очень долго валяться. Что хаки, что костыли, — это всё вредные вещи, которые на первый взгляд выглядят прекрасно, но эта прекрасность обманчива и очень часто потом выходит таким боком, что даже изсправить ничего не возможно, остаётся только всю программу заново писать, либо отказаться от её применения к новым данным.

Chrome7
Подробнее о том, как это корректно сделать можно прочитать здесь:

Во-первых, у него слишком короткое регулярное выражение, так как сущностей в XML может быть больше.
https://www.w3.org/TR/xml-entity-names/

И символы юникода также могут кодироваться через числовой код (в 10-чной и/или 16-ричной системе) с помощью амперсанда.
https://en.wikipedia.org/wiki/XML

All permitted Unicode characters may be represented with a numeric character reference.

Во-вторых, даже если просто заменить кавычку с сущности ' на простую кавычку, его код не сможет это исправить, потому что расчитан только на неправильно выраженный амперсанд в xml-документе, и исправить свой код, чтобы он ещё и кавычку учитывал, он не сможет, так как у кавычки гораздо больше смежных случаев, чем у амперсанда.

А как же это исправить? Выше я написал, как: надо сделать простейший транслятор, который сначала идентифицирует именно тот амперсанд в контексте и/или именно ту кавычку в контексте и только после этого заменит их. При этом будет гарантировано, что он не заменяет не тот амперсанд или не ту кавычку. То есть нужно написать лексический анализатор на базе ДКА. В общем случае понадобится магазин, но для частного случая можно и без магазина обойтись. Вот из-за того, что этот парнишка не знает программирование глубже школьника, он и побирается по всяким сайтам и в конечном итоге приходит к полурабочему решению.

Отредактировано py.user.next (Апрель 8, 2019 23:29:25)

Понравилась статья? Поделить с друзьями:
  • Syntax error trailing comma not allowed without surrounding parentheses
  • Python как узнать тип ошибки
  • Syntax error operator expected swi prolog
  • Python как изменить элемент словаря
  • Tar error 127