Applies to
All deployment types and Domino versions. The installation steps were tested with the Domino Standard Environment (DSE) 6.2.3.If your environment uses a base image other than DSE 6.2.3, you may need to modify the instructions. Details such as the installed tools (
pip, conda), the ubuntu user, and the paths in the examples can differ between images.Choose uv (pip) or conda
Use the option that matches how your environment already installs packages. The following points can also decide between them:- Licensing: Anaconda’s terms of service apply to packages from its
defaultschannels, and organizations with 200 or more employees need a paid license to use them. Packages from the communityconda-forgechannel are free. Check which channels your conda installation uses, or use the uv (pip) option, which installs from PyPI.- Access: The build must be able to reach the package source. PyPI and the Anaconda repositories are separate hosts, and your network or internal mirror might allow only one of them. The uv option also downloads the Python 3.14 interpreter itself, so confirm that download is allowed. - Rate limits: Anaconda returns an HTTP 429 error when usage of its package repositories exceeds its rate limits, which can fail builds that run often or in parallel. PyPI recommends that heavy users run their own mirror or cache.
- Compatibility: The conda option upgrades Python inside the existing conda installation, which can change the versions of other conda packages in the environment. The uv option creates a separate virtual environment at
/opt/venvand leaves the existing installation untouched.
Upgrade Python
Both options have been tested with JupyterLab workspaces on DSE 6.2.3.1
Open the environment
Open the compute environment and go to its Dockerfile Instructions.
2
Add the instructions
Add the instructions for the tool you use.
- uv (pip)
- conda
Setting
UV_PYTHON_INSTALL_DIR makes every uv command use the same install location. Setting UV_PYTHON_DOWNLOADS=never makes a mismatch fail at build time instead of at workspace start. The uv python install command sets UV_PYTHON_DOWNLOADS=automatic for that one command, because it is the only step that needs to download Python.Keep the
UV_PYTHON_INSTALL_DIR setting. Without it, uv can download a second copy of Python 3.14 into /root/.local/share/uv/python and link the venv to it. The ubuntu user that runs the workspace can’t access /root, so the workspace fails to start with a Permission denied error on /opt/venv/bin/python.3
Build a new revision
Build a new revision of the environment.
4
Start a new workspace
Start a new workspace from the new revision. Open a terminal and run the following command to confirm the Python version:The output shows Python 3.14.
Permission denied, run the following command in the built image. The path must not resolve under /root/:
namei -l /opt/venv/bin/python and look for a directory in the path that the ubuntu user can’t traverse. Also confirm that the workspace runs as the same user ID (UID) as the ubuntu user in the image.
Related
- Preload Environment packages, including Dockerfile best practices, in the Domino documentation: 6.3 and Domino Cloud
- Installing packages and dependencies