Why am I getting the error: [Errno 38] Function not implemented in my Python code on Pipedream?

This topic was automatically generated from Slack. You can find the original thread here.

Hi, I opened an issue on github but they asked me to ask for help here in the community
in a Python code I am getting the error: [Errno 38] Function not implemented
Could you help me?

import os
from midea_beautiful import find_appliances

def handler(pd: "pipedream"):
    appliances = find_appliances(account=os.environ["USERNAME"],password=os.environ["PASSWORD"],)
    return appliances

thanks

Hi Marcelo,

Is that package distributed on PyPI as pip install --upgrade midea-beautiful-air?

If so you’ll need to add a magic comment, since the module name is different from midea_beautiful

hi Pierce ! now another error occurs:

Traceback (most recent call last):

  File "/nano-py/server.py", line 56, in <module>
    worker = Worker(root, deployment)
             ^^^^^^^^^^^^^^^^^^^^^^^^

  File "/nano-py/pipedream/worker.py", line 100, in __init__
    self.load()

  File "/nano-py/pipedream/worker.py", line 119, in load
    self.step_modules[cell["id"]] = importlib.import_module(cell["importPath"])
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/lang/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "<frozen importlib._bootstrap>", line 1381, in _gcd_import

  File "<frozen importlib._bootstrap>", line 1354, in _find_and_load

  File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 929, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 994, in exec_module

  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed

  File "/tmp/__pdg__/dist/code/49e6bbab882d8ffde19328b54f2835934a80c799a4eaf5930534d3e44f6aa22f/code.py", line 3, in <module>
    from midea_beautiful import find_appliances

  File "/tmp/__pdg__/dist/python/midea_beautiful/__init__.py", line 7, in <module>
    from midea_beautiful.lan import LanDevice, appliance_state

  File "/tmp/__pdg__/dist/python/midea_beautiful/lan.py", line 13, in <module>
    from midea_beautiful.appliance import Appliance

  File "/tmp/__pdg__/dist/python/midea_beautiful/appliance.py", line 8, in <module>
    from midea_beautiful.command import (

  File "/tmp/__pdg__/dist/python/midea_beautiful/command.py", line 17, in <module>
    _order_lock = RLock()
                  ^^^^^^^

  File "/var/lang/lib/python3.12/multiprocessing/context.py", line 73, in RLock
    return RLock(ctx=self.get_context())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/var/lang/lib/python3.12/multiprocessing/synchronize.py", line 194, in __init__
    SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1, ctx=ctx)

  File "/var/lang/lib/python3.12/multiprocessing/synchronize.py", line 57, in __init__
    sl = self._semlock = _multiprocessing.SemLock(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^

FileNotFoundError: [Errno 2] No such file or directory

The error says it’s failing to find a file or directory. Perhaps this package downloads files to a specific directory during install?

It may need to be configured to download files to /tmp instead, because that’s the only directory that’s writeable in your workflow.

I opened an issue for the package developer, thanks Pierce

Hope they’re able to point out a constructor argument of some kind that allows you to define an alternate path.