diff --git a/ci/docker/linux-dnf-python-3.dockerfile b/ci/docker/linux-dnf-python-3.dockerfile index 6c89ebf5eb53..0881d7789e79 100644 --- a/ci/docker/linux-dnf-python-3.dockerfile +++ b/ci/docker/linux-dnf-python-3.dockerfile @@ -24,18 +24,20 @@ RUN dnf install -y \ python3-pip \ python3-devel -RUN ln -s /usr/bin/python3 /usr/local/bin/python && \ - ln -s /usr/bin/pip3 /usr/local/bin/pip - -RUN pip install -U pip setuptools wheel - COPY python/requirements-build.txt \ python/requirements-test.txt \ /arrow/python/ -RUN pip install \ - -r arrow/python/requirements-build.txt \ - -r arrow/python/requirements-test.txt +# venv instead of system Python, otherwise pip can't upgrade +# packages installed by RPM (error: uninstall-no-record-file) +ENV ARROW_PYTHON_VENV /arrow-dev + +RUN python3 -m venv ${ARROW_PYTHON_VENV} && \ + . ${ARROW_PYTHON_VENV}/bin/activate && \ + pip install -U pip setuptools wheel && \ + pip install \ + -r arrow/python/requirements-build.txt \ + -r arrow/python/requirements-test.txt ENV ARROW_ACERO=ON \ ARROW_BUILD_STATIC=OFF \