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 Qsci

    Original 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 Qsci

    System. 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 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.6.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 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 module QTGui but in QtWidgets.

    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 station mode=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.


  • Pybytes Beta

    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


Log in to reply
 

Pycom on Twitter