Part of #18682
Python 3.9 is EoL in 2025-10, so it's a good time to move to 3.10. Also,
upgrade other dependencies.
refs:
- #17425
## Personal notes for upgrade
### Docker Base Images and Ubuntu Versions
| Dockerfile | Base Image | Ubuntu Version |
|------------|------------|----------------|
| Dockerfile.ci_arm | `ubuntu:22.04` | **Ubuntu 22.04** |
| Dockerfile.ci_cpu | `ubuntu:22.04` | **Ubuntu 22.04** |
| Dockerfile.ci_gpu | `nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04` |
**Ubuntu 22.04** |
| Dockerfile.ci_lint | `ubuntu:22.04` | **Ubuntu 22.04** |
| Dockerfile.ci_wasm | `ubuntu:22.04` | **Ubuntu 22.04** |
Ubuntu 20.04 LTS is [EoL on
2025/5](https://ubuntu.com/about/release-cycle) so we'll deprecate
ubuntu 20.04 images
Fix CacheControl version constraint violation
A change introduced in the dependencies of Poetry have introduced a bug
when building Docker containers and running `ubuntu_install_python.sh`.
The problem links back to CacheControl where one of the linked
dependencies is not pinned to a version.
A fix was released for this bug, documented here:
https://github.com/psf/cachecontrol/issues/311
The suggested solution to the problem is to upgrade to v0.12.14, so this
patch sets the version constraints accordingly.
There are some operation in PaddlePaddle that output a tensor which shape is [1], meanwhile, the slice op have decrease_axis attr, but it should not be squeezed.
This PR changes all ci_ to install TVM Python dependencies in a
virtualenv separate from the system Python dependencies.
Sets the stage for adding the poetry-based dependency
generator to the CI container build process.
* Always install into a python venv in ci containers.
* Respect Dockerfile ENV PATH modifications in
docker/bash.sh lookups.