@@ -23,15 +23,33 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
2323 bash \
2424 build-essential \
2525 curl \
26+ default-libmysqlclient-dev \
27+ expat \
2628 fish \
2729 fontconfig \
30+ freetds-common \
31+ freetds-dev \
2832 gcc \
2933 git \
34+ libbz2-dev \
35+ libcurl4-openssl-dev \
36+ libffi-dev \
37+ libgmp-dev \
38+ libkrb5-dev \
39+ liblzma-dev \
40+ libmpfr-dev \
41+ libncurses-dev \
42+ libpq-dev \
43+ libreadline-dev \
44+ libsqlite3-dev \
45+ libssl-dev \
3046 locales \
3147 make \
3248 odbc-postgresql \
3349 openssl \
3450 pkg-config \
51+ python3-dev \
52+ python3-pip \
3553 rustc \
3654 sudo \
3755 tzdata \
@@ -40,6 +58,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
4058 vim \
4159 wget \
4260 zip \
61+ zlib1g \
62+ zlib1g-dev \
4363 zsh && \
4464 rm -rf /var/lib/apt/lists/*
4565
@@ -87,18 +107,20 @@ WORKDIR "${HOME}"
87107RUN curl -LsSf https://astral.sh/uv/install.sh | sh
88108ENV PATH="${HOME}/.local/bin:${PATH}"
89109ENV UV_PYTHON_PREFERENCE="only-managed"
110+ ENV UV_LINK_MODE="copy"
90111
91- # Install Python
92- ARG PYTHON_VERSIONS= "3.13 3.12 3.11 3.10 3.9 3.8 pypy3.10"
93- RUN bash -c "uv python install ${PYTHON_VERSIONS} " && \
94- uv python pin --global 3.13
112+ # Install PyPy versions and rename shims
113+ RUN uv python install -f pp3.11 pp3.10
114+ RUN mv "${HOME}/.local/bin/python3.11" "${HOME}/.local/bin/pypy3.11 " && \
115+ mv "${HOME}/.local/bin/python3.10" "${HOME}/.local/bin/pypy3.10"
95116
96- # Add shims for python and pip
97- COPY --chmod=775 <<EOF "${HOME}/.local/bin/python"
98- # !/bin/bash
99- exec uv run --no-project python \$ @
100- EOF
117+ # Install CPython versions
118+ RUN uv python install -f cp3.14 cp3.13 cp3.12 cp3.11 cp3.10 cp3.9 cp3.8
119+
120+ # Set default Python version to CPython 3.13
121+ RUN uv python install -f --default cp3.13
101122
123+ # Add shim for pip to use 'uv pip'
102124COPY --chmod=775 <<EOF "${HOME}/.local/bin/pip"
103125# !/bin/bash
104126exec uv pip \$ @
0 commit comments