MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord
    MagicMirror² v2.20.0 is available! For more information about this release, check out this topic.

    UNSOLVED MMM-PythonPrint customisation

    Troubleshooting
    3
    38
    217
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      RobCee last edited by

      @SDETWEIL, firstly, thank you for creating such a simple to follow module for talking to python. I have been trying to get that working for a while and was struggling.

      My issue is that I require a specific library (zeep) for my python code to work, but if I include it in the code with the line include zeep , the module throws an error.

      [01.04.2022 16:45.32.503] [LOG]   MMM-PythonPrint received a socket notification: CONFIG - Payload: [object Object]
      [01.04.2022 16:45.32.507] [LOG]   PythonPrint spawning /opt/magic_mirror/modules/MMM-PythonPrint/test.py
      [01.04.2022 16:45.32.606] [ERROR] Whoops! There was an uncaught exception...
      [01.04.2022 16:45.32.614] [ERROR] ReferenceError: data is not defined
          at ChildProcess.<anonymous> (/opt/magic_mirror/modules/MMM-PythonPrint/node_helper.js:20:65)
          at ChildProcess.emit (node:events:394:28)
          at Process.ChildProcess._handle.onexit (node:internal/child_process:288:12)
          at onErrorNT (node:internal/child_process:477:16)
          at processTicksAndRejections (node:internal/process/task_queues:83:21)
      

      Now, my python code runs successfully from the command line and I have commented everything else out while troubleshooting. I also see the same behaviour if I add the include zeep line into your sample .py files, which run correctly without this.

      Any ideas what is going on? Could it be a path/user/install issue with the python module?

      Cheers, RobCee

      S 1 Reply Last reply Reply Quote 0
      • S
        sdetweil @RobCee last edited by

        @RobCee its because python has its own library path…

        see here, https://stackoverflow.com/questions/55565924/error-importing-installed-python-packages-in-nodejs-pyshell

        last post, for the approach to solve in your python script.
        (if you don’t login, then u have to cursor over some strikethrus… (dumb)…)

        I don’t know python that well, so I don’t know if there is a way to catch the include failure and then add the path and then redo the include) … altho it shouldn’t hurt to always add the path as it would be there from the commandline

        Sam

        Create a working config
        How to add modules

        R 1 Reply Last reply Reply Quote 0
        • R
          RobCee @sdetweil last edited by

          @sdetweil I thought it would be something daft like this. Thanks for the pointer, I will take a look and see if I can resolve it.
          Super speedy response too.

          S 1 Reply Last reply Reply Quote 0
          • Referenced by  S sdetweil 
          • Referenced by  S sdetweil 
          • S
            sdetweil @RobCee last edited by

            @RobCee were you able to resolve the exec of the python script?

            Sam

            Create a working config
            How to add modules

            R 1 Reply Last reply Reply Quote 0
            • R
              RobCee @sdetweil last edited by RobCee

              @sdetweil I haven’t managed to get it running yet.
              I did have some success (I had it printing Hello on the screen), but then the wheels came off and I have been unable to get it working again.

              I have reverted to the default configuration from your Github page to try and wiork out what is going on, but I am seeing the following in the logs:

              [11.04.2022 16:30.34.903] [LOG]   Connecting socket for: MMM-PythonPrint
              [11.04.2022 16:30.34.907] [LOG]   Starting module helper: MMM-PythonPrint
              [11.04.2022 16:30.43.341] [LOG]   MMM-PythonPrint received a socket notification: CONFIG - Payload: [object Object]
              [11.04.2022 16:30.43.346] [LOG]   PythonPrint spawning /opt/magic_mirror/modules/MMM-PythonPrint/printitonce.py
              [11.04.2022 16:30.43.531] [ERROR] Whoops! There was an uncaught exception...
              [11.04.2022 16:30.43.556] [ERROR] ReferenceError: data is not defined
                  at ChildProcess.<anonymous> (/opt/magic_mirror/modules/MMM-PythonPrint/node_helper.js:20:65)
                  at ChildProcess.emit (node:events:390:28)
                  at Process.ChildProcess._handle.onexit (node:internal/child_process:288:12)
                  at onErrorNT (node:internal/child_process:477:16)
                  at processTicksAndRejections (node:internal/process/task_queues:83:21)
              

              Which seems to be the same error as before, but now I am not using any 3rd party modules, just the sample code.

              S 1 Reply Last reply Reply Quote 0
              • S
                sdetweil @RobCee last edited by

                @RobCee said in MMM-PythonPrint customisation:

                ReferenceError: data is not defined

                are u launching ‘python’ or python3?

                the default
                const python=‘python’

                Sam

                Create a working config
                How to add modules

                R 1 Reply Last reply Reply Quote 0
                • R
                  RobCee @sdetweil last edited by

                  @sdetweil I am using python3 and I have updated the two references to ‘python’ -> ‘python3’ to reflect this

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    sdetweil @RobCee last edited by

                    @RobCee right, you don’t have to change the code, just use the config.js setting

                    { 
                    module:
                         config: {  
                             pythonName:'python3',
                        }
                    }
                    

                    Sam

                    Create a working config
                    How to add modules

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      RobCee @sdetweil last edited by

                      @sdetweil ok, I will try it there then and see what happens.
                      Tracking down errors in this MM OS is fun…

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        sdetweil @RobCee last edited by sdetweil

                        @RobCee o, I see that I have a potential bug… if the command: is not configured,
                        it defaults to “”… oops…

                        I just pushed an update got that

                        git pull in the module folder

                        to debug

                        add debug: true

                        and then look where u start MM… (this doing npm start )

                        [11.04.2022 10:55.13.087] [LOG]   MMM-PythonPrint received a socket notification: CONFIG - Payload: [object Object]
                        [11.04.2022 10:55.13.087] [LOG]   PythonPrint spawning modules/MMM-PythonPrint/printit.py
                        .
                        .
                        .
                        .
                        [11.04.2022 10:55.18.114] [LOG]   PythonPrint sending program output=hello
                        

                        Sam

                        Create a working config
                        How to add modules

                        R 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 1 / 4
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy