mini could not conect

#5
by Andrewdaisy - opened

It looks like you are encountering a classic cross-platform compatibility issue. The error ModuleNotFoundError: No module named 'pwd' occurs because the pwd module is a Unix-specific Python library used for accessing the password database. Since you are running this on Windows, that module does not exist.

It appears the reachy_mini package (likely designed for Linux/Raspberry Pi) has a bug where it tries to import Unix-only dependencies even when running on a Windows environment.

๐Ÿ› ๏ธ Immediate Workarounds

1. The "Dummy Module" Fix

You can trick Python into continuing by creating a fake pwd module. This often works if the software only uses the module for non-essential tasks like getting a username.

  1. Navigate to your venv site-packages folder:
    C:\Users\daisy\AppData\Local\Reachy Mini Control\.venv\Lib\site-packages\
  2. Create a new file named pwd.py.
  3. Paste the following code into that file:
def getpwuid(uid):
    import os
    from collections import namedtuple
    struct_passwd = namedtuple('struct_passwd', 'pw_name pw_passwd pw_uid pw_gid pw_gecos pw_dir pw_shell')
    return struct_passwd(os.getlogin(), 'x', uid, 0, 'User', os.path.expanduser('~'), '/bin/bash')

def getpwnam(name):
    return getpwuid(0)
  1. Try to launch the application again.

2. Comment out the Import

Since the traceback points exactly to where the crash happens, you can manually bypass it:

  1. Open the file: C:\Users\daisy\AppData\Local\Reachy Mini Control\.venv\Lib\site-packages\reachy_mini\utils\wireless_version\startup_check.py
  2. Go to line 10.
  3. Change import pwd to:
try:
    import pwd
 matrimonial except ImportError:
    pwd = None

Note: If the code later calls pwd.getpwuid(), this will still crash, but it might get you past the initial startup check.


๐Ÿ” Why the Update Failed

Your logs also show a 404 Not Found error when trying to download version 0.9.17.

  • Server-side issue: The update link for the Windows version might be broken on the developer's side.
  • Version mismatch: Reachy Mini often runs on a custom Linux image on the robot itself. If you are trying to run the robot's daemon on a Windows PC (rather than just the remote control GUI), the code will likely continue to fail with more Unix-specific errors (like termios or fcntl).

Next Steps

Are you trying to run the full robot control stack on your PC, or are you just trying to open the Desktop App to control a remote robot?

If this is the official Reachy Mini Control app, I can help you look for a version specifically compiled for Windows that avoids these Linux-specific imports. Would you like me to check if there is a Windows-compatible alternative or a specific environment flag you need to set?

Sign up or log in to comment