Hello! I'm having issues with dockerization on a p...
# ask-for-help
p
Hello! I'm having issues with dockerization on a project, here are the logs:
Copy code
#14 [ 9/17] RUN command -v uv >/dev/null || pip install uv
#14 0.131 Traceback (most recent call last):
#14 0.131   File "/usr/bin/pip", line 6, in <module>
#14 0.131     from pkg_resources import load_entry_point
#14 0.131   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 57, in <module>
#14 0.131     from pkg_resources.extern import six
#14 0.131 ImportError: cannot import name 'six' from 'pkg_resources.extern' (/usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py)
#14 ERROR: process "/bin/sh -c command -v uv >/dev/null || pip install uv" did not complete successfully: exit code: 1
The setup is a Bentoml
1.4.5
app, with the following
docker
settings in the `bentofile.yaml`: •
python_version
:
3.12
•
system_packages
:
ffmpeg
,
cudnn
• `cuda_version`:
12.1.0
I've tried adding
python3-pip
in the
system_packages
, as per this issue, well as all manners of
python3-x
packages (
six
,
wheels
), to no avail. What could be the reason here?
j
`cuda_version`:
12.1.0
could you try removing this line? if you are using pytorch, it should automatically install the cuda related dependencies
👌 1
p
It shifted (or advanced?) the issue into
cudnn
not being a resolvable package. I'll investigate and get back to you if I find a solution and/or get stuck again.
j
i think you can remove
cudnn
as system package maybe?
p
Just to keep this thread up to date: your recommendation did fix the build issue, but as this particular service is missing end-to-end tests, I've yet to confirm the resulting image is fully functional. Hence the radio silence, I'll update when I can say for sure if it's fixed 🙈
👍 1
So we're back at it, removing
cudnn
is not an option apparently, it results in the following error at inference time:
Copy code
Unable to load any of {libcudnn_ops.so.9.1.0, Libcudnn_ops.so.9.1, libcudnn_ops.so.9, libcudnn_ops.so}
Invalid handle. Cannot load symbol cudnnCreateTensorDescriptor
How do you navigate such requirements? We used to simply require
cudnn
,
cuda
etc. as system packages without specifying a version number, now after having upgraded to BentoML 1.4 + Python 3.12 the dockerization fails with various
pip
related issues. Is there a heuristic we can follow to resolve such issues? (specific versions? distros? additional packages?)
j
@Jiang what do you think?