jolly-florist-66728
10/10/2024, 8:09 PMflytekit >= 1.13.5 and are seeing errors while pointing to our private remote pypi server? It seems like the switch to uv is a breaking change for us(this issue describes our problem of trying to rely on the standard pip config - https://github.com/astral-sh/uv/issues/1404). When we try to use ImageSpec now we get errors like:
ERROR: failed to solve: process "/bin/sh -c /usr/bin/uv pip install --python /opt/micromamba/envs/runtime/bin/python --index-url <https://pypi.python.org/simple/--extra-index-url> https://{PRIVATE_REPOSITORY_URL}/pypi/pycommon-store/simple/ --requirement requirements_uv.txt" did not complete successfully: exit code: 2
I'm assuming others are using private pypi servers? Do we need to shift away from the standard pip config to uv specific config now?
# Answer
The error you're encountering is due to the switch to uv in flytekit versions >= 1.13.5, which affects how ImageSpec handles pip configurations. The uv tool does not support multiple --extra-index-url parameters in the same way that standard pip does, leading to the error you see.
To address this, you need to configure the ImageSpec to use the pip_index and pip_extra_index_url parameters correctly. According to the default_builder.py file, you can specify these parameters in the `ImageSpec`:
from flytekit import ImageSpec
custom_image = ImageSpec(
registry="your_registry",
packages=["your_package"],
pip_index="https://your_private_pypi/simple",
pip_extra_index_url=["https://pypi.python.org/simple"]
)
This configuration should help uv correctly handle the pip index URLs.
Would you like more details on configuring ImageSpec or handling private repositories?
Sources:
- default_builder.py
- GitHub Issue #5046
Slack Link
https://.slack.com/archives/CP2HDHKE1/p1728590984.666669 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.