pymakr does not start
-
Error message:
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/share/pymakr/modules/pymakr.py", line 145, in excepthook
import Utilities
File "/usr/share/pymakr/modules/Utilities/init.py", line 62, in <module>
from PyQt5.Qsci import QSCINTILLA_VERSION_STR, QsciScintilla
ImportError: No module named QsciOriginal exception was:
Traceback (most recent call last):
File "/usr/share/pymakr/modules/pymakr.py", line 368, in <module>
main()
File "/usr/share/pymakr/modules/pymakr.py", line 268, in main
if not Globals.checkBlacklistedVersions():
File "/usr/share/pymakr/modules/Globals/init.py", line 110, in checkBlacklistedVersions
from PyQt5.Qsci import QSCINTILLA_VERSION_STR
ImportError: No module named QsciSystem. debian Jessie
-
That's a point, but then pymakr should work reliably, like the Arduino UI does, as long as you stick with standard boards. At least, I never had any issues with installing Arduino on Linux or Windows.
AFAIK, the Windows version of pymakr has no installation problems, but I just tried an early version for a few moments.
-
We use Pycom or Arduino in a teaching context, where the UI component are rather critical.
Not really an option either to teach programming beginners that struggle with writing a 3-line function to use ftp and telnet
-
Oh yes, that#s true. Calibre does not work any more. And since Calibre seems to be stable and I see pymakr still in an early alpha phase, I removed pymakr. It is anyhow not needed, since all the standard tools work and are reliable. If pycom's resources are limited, they should more focus on there boards firmware and not waste time on components, where a lot of alternatives exist for all operating systems.
Standard tools
Console: telnet, Screen, picocom, putty, Teraterm, ....
Filetransfer: ftp, filezilla, fireftp, linux file managers like nautilus, thunar, ...,
Code editor: Any editor of your choice. On linux, once you mounted the WiPy/LoPy#s file system in nautilus, you can directly edit the files on the module.
-
In my case, removing PyQt5 means removing Calibre. Not really an option.
In the meantime, changing the Debian package to accurately reflect this incompatibility would at least make it obvious what prevents it from working and prevent installing in a non-working environment.
-
Hi @kephasp and @ulno,
At this moment, Pymakr is compatible with PyQt5 but doesn't handle PyQt5 very well. If you already had PyQt5 installed, it'll try to use it anyway. It's very high on our priority list to fix, but for the moment you'll have to uninstall PyQt5. I hope that's not too inconvenient in your cases.
-
You can always use telnet for the REPL prompt, ftp for file transfer using your favorite tool and your favorite editor. With ubuntu, you can also mount the file system directly in the file manager (go to server) and edit the files in place, if you like. In my view, that works anyhow much better then pymakr with it's very-hard-to-view design.
All these 'nice' tools seem just a wast of effort, trying to replace stuff which already exists in better quality and broader selection.
-
The same errors happen on pymakr_1.0.0.b6-1 under ubuntu yakkety. Just wanted to start. Any way to use command line tools and not pymakr? I have quite some experience with micropython, so what do I need to know to continue?
Python 2.7.12+
An unhandled exception occurred. Please report the problem
using the error reporting dialog or via email to support@pycom.io.
A log has been written to "/home/ulno/.pymakr/pymakr_error.log".Error information:
2016-11-22, 20:43:00
<type 'exceptions.ImportError'>:
cannot import name QLabelFile "/usr/share/pymakr/modules/pymakr.py", line 368, in <module>
main()
File "/usr/share/pymakr/modules/pymakr.py", line 288, in main
from UI.SplashScreen import SplashScreen, NoneSplashScreen
File "/usr/share/pymakr/modules/UI/SplashScreen.py", line 16, in <module>
from PyQt5.QtGui import QPixmap, QColor, QLabel
Version Numbers:
Python 2.7.12+
Qt 5.6.1
PyQt 5.7
sip 4.18.1
QScintilla 2.9.3
WebKit 538.1
Pymakr 1.0.0.b6Platform: linux2
2.7.12+ (default, Sep 17 2016, 12:08:02)
[GCC 6.2.0 20160914]Distribution Info:
/etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.10
DISTRIB_CODENAME=yakkety
DISTRIB_DESCRIPTION="Ubuntu 16.10"/etc/os-release
NAME="Ubuntu"
VERSION="16.10 (Yakkety Yak)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.10"
VERSION_ID="16.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="http://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=yakkety
UBUNTU_CODENAME=yakkety
-
This may be an issue with PyQt5's API. In PyQt 5.7,
QLabel
is not in moduleQTGui
but inQtWidgets
.I tried the following patch:
diff --git a/modules/UI/SplashScreen.py b/modules/UI/SplashScreen.py index dd72130..e7f73d0 100644 --- a/modules/UI/SplashScreen.py +++ b/modules/UI/SplashScreen.py @@ -13,8 +13,8 @@ import os.path import logging from PyQt5.QtCore import Qt -from PyQt5.QtGui import QPixmap, QColor, QLabel -from PyQt5.QtWidgets import QApplication, QSplashScreen +from PyQt5.QtGui import QPixmap, QColor +from PyQt5.QtWidgets import QApplication, QSplashScreen, QLabel from eric6config import getConfig import UI.Info
But it got me the following error:
2016-11-22, 15:36:40 -------------------------------------------------------------------------------- <type 'exceptions.RuntimeError'>: the PyQt4.QtCore and PyQt5.QtCore modules both wrap the QObject class -------------------------------------------------------------------------------- File "modules/pymakr.py", line 368, in <module> main() File "modules/pymakr.py", line 344, in main from UI.UserInterface import UserInterface File "/home/pierre/Logiciel/pymakr/modules/UI/UserInterface.py", line 45, in <module> from E5Gui.E5ZoomWidget import E5ZoomWidget File "/home/pierre/Logiciel/pymakr/modules/E5Gui/E5ZoomWidget.py", line 15, in <module> from .Ui_E5ZoomWidget import Ui_E5ZoomWidget File "/home/pierre/Logiciel/pymakr/modules/E5Gui/Ui_E5ZoomWidget.py", line 9, in <module> from PyQt4 import QtCore, QtGui
-
Same issue with 1.0.0.b6
<type 'exceptions.ImportError'>: cannot import name QLabel -------------------------------------------------------------------------------- File "/usr/share/pymakr/modules/pymakr.py", line 368, in <module> main() File "/usr/share/pymakr/modules/pymakr.py", line 288, in main from UI.SplashScreen import SplashScreen, NoneSplashScreen File "/usr/share/pymakr/modules/UI/SplashScreen.py", line 16, in <module> from PyQt5.QtGui import QPixmap, QColor, QLabel -------------------------------------------------------------------------------- Version Numbers: Python 2.7.12+ Qt 5.7.1 PyQt 5.7 sip 4.18.1 QScintilla 2.9.3 WebKit 538.1 Pymakr 1.0.0.b6 Platform: linux2 2.7.12+ (default, Sep 1 2016, 20:27:38) [GCC 6.2.0 20160822]
-
@robert-hh, thanks a lot for performing that test. It seems to me it definitely proves it.
Now about the WiPy failing, with your permission, I would like to go step by step on finding out the reason. Can I ask you to create a new thread for that specific subject, so future users can find it under the right label? Actually I created a completely separated category for Pymakr, it will be good for it to go there.
Thanks again for the test,
Abilio
-
OK. I removed PyQt5 the hard way, and now pymakr runs. At least that's a second confirmation. I do not know the side effectes of that yet, but I might find it.
-
WiPy is running in it's default configuration as an Access point, and I can Telnet & ftp to it.
-
@robert-hh . Yes, it is possible to put a name in that field, if you have a DNS (or hosts) entry for it. Can I ask something about your WiPy 1 setup? Are you running it as an access point
mode=WLAN.AP
, or stationmode=WLAN.STA
?
-
Hi @wathoom, I can now confirm that having both PyQt4 and PyQt5 seems to be the culprit.
As we now identified the real cause of it, we will look for a solution to this problem and try to include it in the upcoming release.
Thank you so much for all your support and your patience.
-
OK. Using the IP address does something: It tries to connect to my WiPy 1, but fails. My LoPy device is still on the road, since Oct. 12. It got lost somewhere on the mail. Isabelle tries to locate it..
And to be honest: the field tells: IP address or device. Is it possible to use an symbolic IP address?
-
@robert-hh, there was an issue with Pymakr beta 5 not syncing to the last WiPy 2/LoPy boards, but it has been fixed on beta 6. And for connecting over wireless, the support has always been there. You just need to type down the board IP number in the device field of the settings.
You could agree that editors are an issue of personal taste, and the most experienced users will have their favorite one. What we're trying to create with Pymakr is a tool for those Python newcomers and other users that like the simplicity of connecting to their boards without having to open a command line dialog and a FTP client tool. But rest assured we will try to maintain and improve the already existing methods as well.
Regards,
-
@wathoom, I do believe that's the reason. In order to reproduce it, I'm going to install PyQt5 as well. I'll post back the findings.
-
It's using pyqt5 but pyqt4 is also there.
So yes, both versions are installed simultaneously.
-
Hi abilio, I did a similar thing with Ubuntu 16.04, which I had installed a few days ago in a virtual machine, and there it works! So the set-up in my debian machine seems to be twisted. I see both Qt4 and Qt5 files, and that may be the source of the trouble. I cannot remove qt5 with pipx uninstall or atp-get remove.
Still, like the Windows version, pymakr does not convince me at all. It still seems not support wireless links to the boards, which is a shame, since the outstanding feature of all your products is their wirelesl support.
And for just another editor I see no need. At least, you should keep the options to configure and install your boards with command line tools, and document these properly.Regards, Robert