containers / ramalama

The goal of RamaLama is to make working with AI boring.
MIT License
204 stars 28 forks source link

rpm: huggingface-hub, omlmd dependencies needed #211

Open lsm5 opened 1 week ago

lsm5 commented 1 week ago

Looks like there are new / unpackaged dependencies.

$ sudo dnf update python3-ramalama
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
Problem: cannot install the best update candidate for package python3-ramalama-0-1.20240930152001048385.main.fc42.noarch
  - nothing provides python3.13dist(huggingface-hub[cli]) needed by python3-ramalama-0-1.20241001125821155338.main.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(omlmd) needed by python3-ramalama-0-1.20241001125821155338.main.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
You can try to add to command line:
  --no-best to not limit the transaction to the best candidates
rhatdan commented 1 week ago

@lsm5 thise packages are being pulled in as Requires in the spec file, We would like to make them obtional and then have the code realize when it does not have them and suggest to the user to install them. Or just run the commands within a container, where we will garantee they exists.

lsm5 commented 21 hours ago

This issue is back on rawhide at least. I think it would be good to have a TMT test to run a basic installation check.

Repositories loaded.
Failed to resolve the transaction:
Problem: problem with installed package
  - cannot install the best update candidate for package python3-ramalama-0.0.14-1.20241009142409027341.main.0.ga86594a.fc42.noarch
  - nothing provides python3.13dist(huggingface-hub[cli]) needed by python3-ramalama-0-1.20241001125821155338.main.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(omlmd) needed by python3-ramalama-0-1.20241001125821155338.main.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(huggingface-hub[cli]) needed by python3-ramalama-0-1.20241001134012872881.main.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(omlmd) needed by python3-ramalama-0-1.20241001134012872881.main.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(huggingface-hub[cli]) needed by python3-ramalama-0.0.14-1.20241009194955449691.main.5.g184e414.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(omlmd) needed by python3-ramalama-0.0.14-1.20241009194955449691.main.5.g184e414.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(huggingface-hub[cli]) needed by python3-ramalama-0.0.14-1.20241009200607647378.main.8.g7e540bd.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
  - nothing provides python3.13dist(omlmd) needed by python3-ramalama-0.0.14-1.20241009200607647378.main.8.g7e540bd.fc42.noarch from copr:copr.fedorainfracloud.org:rhcontainerbot:podman-next
You can try to add to command line:
  --no-best to not limit the transaction to the best candidates
rhatdan commented 18 hours ago

Yes the problem is we need these for PyPi installs, can we change the RPM install to use make install instead of the python install or just eliminate the automatic generation of Requirements based on the Python.

Installing via PyPi makes it easy to pull in Python requirements without us packaging them, Where as on Linux ramalama installed via rpm is much more difficult.

The design of RamaLama is to run content in containers by default, which makes these requirements less necessary. But if you run ramalama --nocontainer then the python libraries are needed on the host. Currently we are defaulting ramalama to running with --nocontainer on Macs which the lack of requirements is hurting.

lsm5 commented 16 hours ago

Installing via PyPi makes it easy to pull in Python requirements without us packaging them, Where as on Linux ramalama installed via rpm is much more difficult.

installing via pypi would mean access to network? May be doable for the current copr rpms but would not work for official fedora packages. So, might be good to have this sorted either way.

rhatdan commented 11 hours ago

No I am not suggesting that you install via PyPi, I am stating that using the Python setup.py script seems to be adding Requirements to the RPM that are not needed for Linux.

Instead of using the installed python stuff, you could just do make install and it will not use pypi.