CatoLynx / pyLCD

A library for controlling LCDs on various hardware backends (successor of HD44780)
Other
26 stars 14 forks source link

Unable to install pylcd with pip #13

Closed ikerexxe closed 7 months ago

ikerexxe commented 7 months ago

I'm trying to install pylcd on a Raspberry Pi 4 with pip but it fails stating that hd44780 module is missing. Is this project supposed to be standalone, or do I need to install a dependency?

Log:

# pip install pylcd
Collecting pylcd
  Using cached pyLCD-1.1.3.tar.gz (72 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [22 lines of output]
      Traceback (most recent call last):
        File "/root/display_venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/root/display_venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/display_venv/lib64/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-gu9n7gmt/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-gu9n7gmt/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-gu9n7gmt/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 487, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-gu9n7gmt/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 5, in <module>
        File "/tmp/pip-install-6mwrc4y3/pylcd_b27ca0eeb13a4db298f8e31a2776be32/pylcd/__init__.py", line 4, in <module>
          import hd44780
      ModuleNotFoundError: No module named 'hd44780'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
CatoLynx commented 7 months ago

Hi, this library is ancient and probably not what you want to use. If you want to continue anyway, try pip install hd44780.

ikerexxe commented 7 months ago

That fails due to another dependency missing ModuleNotFoundError: No module named 'utils' :sweat:

Do you know of any other project that provides a user-space management of a KS0108 compatible display? I'd like to avoid the situation where one dependency installation leads me to some dependency missing.

CatoLynx commented 7 months ago

It's been 10 years and this project is basically abandoned, so I can't really help here, my guess is that it's all just too old. I don't know of any other libraries. You could try just copying the Python files into a directory and use them like that, without a proper install. That might do as a temporary solution.

ikerexxe commented 7 months ago

Yes, that works except that WiringPi doesn't seem to work correctly. Thank you for your help! I think I'll abandon this approach and try something else.

By the way, if this project is abandoned I'd recommend you to set is as deprecated in Github :wink: This will inform anyone who opens it that it is quite likely not to work.

CatoLynx commented 7 months ago

Okay, fair! Is there a specific way to set it as deprecated apart from editind the readme? I only know you can archive it, is that what you mean?

ikerexxe commented 7 months ago

Yes, sorry, I meant archive. But you can also edit the README to make it more clear.