Files

8863 lines
135 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="This is the collection of all Linux related documentation by the Core Linux Research Services
team of the Science IT Infrastructure and Services department (AWI).
">
<meta name="author" content="Paul Scherrer Institute">
<link rel="canonical" href="https://linux.psi.ch/admin-guide/configuration/software/python/">
<link rel="prev" href="../pmodules/">
<link rel="next" href="../selinux_configuration/">
<link rel="icon" href="../../../../assets/images/favicon.png">
<meta name="generator" content="zensical-0.0.11">
<title>Python - Core Linux Documentation</title>
<link rel="stylesheet" href="../../../../assets/stylesheets/modern/main.bd6182e7.min.css">
<link rel="stylesheet" href="../../../../assets/stylesheets/modern/palette.dfe2e883.min.css">
<style>:root{}</style>
<link rel="stylesheet" href="../../../../assets/asciinema-player.css">
<script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)),0),__md_get=(e,t=localStorage,a=__md_scope)=>JSON.parse(t.getItem(a.pathname+"."+e)),__md_set=(e,t,a=localStorage,_=__md_scope)=>{try{a.setItem(_.pathname+"."+e,JSON.stringify(t))}catch(e){}},document.documentElement.setAttribute("data-platform",navigator.platform)</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#python" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../../../.." title="Core Linux Documentation" class="md-header__button md-logo" aria-label="Core Linux Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.504 0q-.232 0-.48.021c-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.4.4 0 0 0-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071s1.592-.536 2.257-1.306c.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.36.36 0 0 0-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139m.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105l-.004-.021-.004-.024a1.8 1.8 0 0 1-.15.706.95.95 0 0 1-.213.335 1 1 0 0 0-.088-.042c-.104-.045-.198-.064-.284-.133a1.3 1.3 0 0 0-.22-.066c.05-.06.146-.133.183-.198q.08-.193.088-.402v-.02a1.2 1.2 0 0 0-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 0 0-.205.334 1.2 1.2 0 0 0-.09.4v.019q.002.134.02.267c-.193-.067-.438-.135-.607-.202a2 2 0 0 1-.018-.2v-.02a1.8 1.8 0 0 1 .15-.768 1.08 1.08 0 0 1 .43-.533 1 1 0 0 1 .594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2q.018-.136.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.6.6 0 0 0-.166-.267.25.25 0 0 0-.183-.064h-.021c-.071.006-.13.04-.186.132a.55.55 0 0 0-.12.27 1 1 0 0 0-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268q.014.014.034.024c-.07.057-.117.07-.176.136a.3.3 0 0 1-.131.068 2.6 2.6 0 0 1-.275-.402 1.8 1.8 0 0 1-.155-.667 1.8 1.8 0 0 1 .08-.668 1.4 1.4 0 0 1 .283-.535c.128-.133.26-.2.418-.2m1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.57.57 0 0 1 .016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.1 1.1 0 0 1-.448-.067 4 4 0 0 1-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71q-.104-.403.193-.6c.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.7 2.7 0 0 0-.402-.533 1.5 1.5 0 0 0-.275-.333c.182 0 .338-.03.465-.067a.62.62 0 0 0 .314-.334c.108-.267 0-.697-.345-1.163s-.931-.995-1.788-1.521c-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.1 8.1 0 0 1 .647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335q.058.005.11.006c.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01q.08 0 .157.014c.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602q-.553-.1-.723-.4c-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336m7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8 8 0 0 1-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065m-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-menu" viewBox="0 0 24 24"><path d="M4 5h16M4 12h16M4 19h16"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Core Linux Documentation
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Python
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="none" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-sun" viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"/></svg>
</label>
<input class="md-option" data-md-color-media="none" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-moon" viewBox="0 0 24 24"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-search" viewBox="0 0 24 24"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog" aria-label="Search">
<button type="button" class="md-search__button">
Search
</button>
</div>
<div class="md-header__source">
<a href="https://gitea.psi.ch/linux/documentation" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.209 4.603c-.247 0-.525.02-.84.088-.333.07-1.28.283-2.054 1.027C-.403 7.25.035 9.685.089 10.052c.065.446.263 1.687 1.21 2.768 1.749 2.141 5.513 2.092 5.513 2.092s.462 1.103 1.168 2.119c.955 1.263 1.936 2.248 2.89 2.367 2.406 0 7.212-.004 7.212-.004s.458.004 1.08-.394c.535-.324 1.013-.893 1.013-.893s.492-.527 1.18-1.73c.21-.37.385-.729.538-1.068 0 0 2.107-4.471 2.107-8.823-.042-1.318-.367-1.55-.443-1.627-.156-.156-.366-.153-.366-.153s-4.475.252-6.792.306c-.508.011-1.012.023-1.512.027v4.474l-.634-.301c0-1.39-.004-4.17-.004-4.17-1.107.016-3.405-.084-3.405-.084s-5.399-.27-5.987-.324c-.187-.011-.401-.032-.648-.032zm.354 1.832h.111s.271 2.269.6 3.597C5.549 11.147 6.22 13 6.22 13s-.996-.119-1.641-.348c-.99-.324-1.409-.714-1.409-.714s-.73-.511-1.096-1.52C1.444 8.73 2.021 7.7 2.021 7.7s.32-.859 1.47-1.145c.395-.106.863-.12 1.072-.12m8.33 2.554c.26.003.509.127.509.127l.868.422-.529 1.075a.69.69 0 0 0-.614.359.69.69 0 0 0 .072.756l-.939 1.924a.69.69 0 0 0-.66.527.69.69 0 0 0 .347.763.686.686 0 0 0 .867-.206.69.69 0 0 0-.069-.882l.916-1.874a.7.7 0 0 0 .237-.02.66.66 0 0 0 .271-.137 9 9 0 0 1 1.016.512.76.76 0 0 1 .286.282c.073.21-.073.569-.073.569-.087.29-.702 1.55-.702 1.55a.69.69 0 0 0-.676.477.681.681 0 1 0 1.157-.252c.073-.141.141-.282.214-.431.19-.397.515-1.16.515-1.16.035-.066.218-.394.103-.814-.095-.435-.48-.638-.48-.638-.467-.301-1.116-.58-1.116-.58s0-.156-.042-.27a.7.7 0 0 0-.148-.241l.516-1.062 2.89 1.401s.48.218.583.619c.073.282-.019.534-.069.657-.24.587-2.1 4.317-2.1 4.317s-.232.554-.748.588a1.1 1.1 0 0 1-.393-.045l-.202-.08-4.31-2.1s-.417-.218-.49-.596c-.083-.31.104-.691.104-.691l2.073-4.272s.183-.37.466-.497a.9.9 0 0 1 .35-.077"/></svg>
</div>
<div class="md-source__repository">
Gitea
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../../../.." title="Core Linux Documentation" class="md-nav__button md-logo" aria-label="Core Linux Documentation" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.504 0q-.232 0-.48.021c-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.4.4 0 0 0-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071s1.592-.536 2.257-1.306c.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.36.36 0 0 0-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139m.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105l-.004-.021-.004-.024a1.8 1.8 0 0 1-.15.706.95.95 0 0 1-.213.335 1 1 0 0 0-.088-.042c-.104-.045-.198-.064-.284-.133a1.3 1.3 0 0 0-.22-.066c.05-.06.146-.133.183-.198q.08-.193.088-.402v-.02a1.2 1.2 0 0 0-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 0 0-.205.334 1.2 1.2 0 0 0-.09.4v.019q.002.134.02.267c-.193-.067-.438-.135-.607-.202a2 2 0 0 1-.018-.2v-.02a1.8 1.8 0 0 1 .15-.768 1.08 1.08 0 0 1 .43-.533 1 1 0 0 1 .594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2q.018-.136.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.6.6 0 0 0-.166-.267.25.25 0 0 0-.183-.064h-.021c-.071.006-.13.04-.186.132a.55.55 0 0 0-.12.27 1 1 0 0 0-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268q.014.014.034.024c-.07.057-.117.07-.176.136a.3.3 0 0 1-.131.068 2.6 2.6 0 0 1-.275-.402 1.8 1.8 0 0 1-.155-.667 1.8 1.8 0 0 1 .08-.668 1.4 1.4 0 0 1 .283-.535c.128-.133.26-.2.418-.2m1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.57.57 0 0 1 .016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.1 1.1 0 0 1-.448-.067 4 4 0 0 1-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71q-.104-.403.193-.6c.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.7 2.7 0 0 0-.402-.533 1.5 1.5 0 0 0-.275-.333c.182 0 .338-.03.465-.067a.62.62 0 0 0 .314-.334c.108-.267 0-.697-.345-1.163s-.931-.995-1.788-1.521c-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.1 8.1 0 0 1 .647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335q.058.005.11.006c.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01q.08 0 .157.014c.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602q-.553-.1-.723-.4c-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336m7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8 8 0 0 1-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065m-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"/></svg>
</a>
Core Linux Documentation
</label>
<div class="md-nav__source">
<a href="https://gitea.psi.ch/linux/documentation" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.209 4.603c-.247 0-.525.02-.84.088-.333.07-1.28.283-2.054 1.027C-.403 7.25.035 9.685.089 10.052c.065.446.263 1.687 1.21 2.768 1.749 2.141 5.513 2.092 5.513 2.092s.462 1.103 1.168 2.119c.955 1.263 1.936 2.248 2.89 2.367 2.406 0 7.212-.004 7.212-.004s.458.004 1.08-.394c.535-.324 1.013-.893 1.013-.893s.492-.527 1.18-1.73c.21-.37.385-.729.538-1.068 0 0 2.107-4.471 2.107-8.823-.042-1.318-.367-1.55-.443-1.627-.156-.156-.366-.153-.366-.153s-4.475.252-6.792.306c-.508.011-1.012.023-1.512.027v4.474l-.634-.301c0-1.39-.004-4.17-.004-4.17-1.107.016-3.405-.084-3.405-.084s-5.399-.27-5.987-.324c-.187-.011-.401-.032-.648-.032zm.354 1.832h.111s.271 2.269.6 3.597C5.549 11.147 6.22 13 6.22 13s-.996-.119-1.641-.348c-.99-.324-1.409-.714-1.409-.714s-.73-.511-1.096-1.52C1.444 8.73 2.021 7.7 2.021 7.7s.32-.859 1.47-1.145c.395-.106.863-.12 1.072-.12m8.33 2.554c.26.003.509.127.509.127l.868.422-.529 1.075a.69.69 0 0 0-.614.359.69.69 0 0 0 .072.756l-.939 1.924a.69.69 0 0 0-.66.527.69.69 0 0 0 .347.763.686.686 0 0 0 .867-.206.69.69 0 0 0-.069-.882l.916-1.874a.7.7 0 0 0 .237-.02.66.66 0 0 0 .271-.137 9 9 0 0 1 1.016.512.76.76 0 0 1 .286.282c.073.21-.073.569-.073.569-.087.29-.702 1.55-.702 1.55a.69.69 0 0 0-.676.477.681.681 0 1 0 1.157-.252c.073-.141.141-.282.214-.431.19-.397.515-1.16.515-1.16.035-.066.218-.394.103-.814-.095-.435-.48-.638-.48-.638-.467-.301-1.116-.58-1.116-.58s0-.156-.042-.27a.7.7 0 0 0-.148-.241l.516-1.062 2.89 1.401s.48.218.583.619c.073.282-.019.534-.069.657-.24.587-2.1 4.317-2.1 4.317s-.232.554-.748.588a1.1 1.1 0 0 1-.393-.045l-.202-.08-4.31-2.1s-.417-.218-.49-.596c-.083-.31.104-.691.104-.691l2.073-4.272s.183-.37.466-.497a.9.9 0 0 1 .35-.077"/></svg>
</div>
<div class="md-source__repository">
Gitea
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../.." class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
<div class="md-nav__link md-nav__container">
<a href="../../../" class="md-nav__link ">
<span class="md-ellipsis">
Admin guide
</span>
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Admin guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../consoles/" class="md-nav__link">
<span class="md-ellipsis">
(RHEL9) Beamline Consoles
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../container/" class="md-nav__link">
<span class="md-ellipsis">
Container
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../custom_repositories/" class="md-nav__link">
<span class="md-ellipsis">
Custom RPM Repositories
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
<label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
<span class="md-ellipsis">
Deployment
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5">
<span class="md-nav__icon md-icon"></span>
Deployment
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../deployment/advanced_installation/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/basic_installation/" class="md-nav__link">
<span class="md-ellipsis">
Basic Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/console_installation/" class="md-nav__link">
<span class="md-ellipsis">
Console Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/dmz_installation/" class="md-nav__link">
<span class="md-ellipsis">
DMZ Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/re_installation/" class="md-nav__link">
<span class="md-ellipsis">
Re-Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
Deployment Troubleshouting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/virtual_machines/" class="md-nav__link">
<span class="md-ellipsis">
Virtual Machines
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_8" >
<label class="md-nav__link" for="__nav_2_5_8" id="__nav_2_5_8_label" tabindex="0">
<span class="md-ellipsis">
Rhel10
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_8">
<span class="md-nav__icon md-icon"></span>
Rhel10
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../deployment/rhel10/hardware_compatibility/" class="md-nav__link">
<span class="md-ellipsis">
RHEL10 Hardware Compatibility
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_9" >
<div class="md-nav__link md-nav__container">
<a href="../../../deployment/rhel8/" class="md-nav__link ">
<span class="md-ellipsis">
Rhel8
</span>
</a>
<label class="md-nav__link " for="__nav_2_5_9" id="__nav_2_5_9_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_9">
<span class="md-nav__icon md-icon"></span>
Rhel8
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../deployment/rhel8/desktop/" class="md-nav__link">
<span class="md-ellipsis">
Desktop on RHEL 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/rhel8/hardware_compatibility/" class="md-nav__link">
<span class="md-ellipsis">
Hardware Compatibility
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/rhel8/kerberos/" class="md-nav__link">
<span class="md-ellipsis">
Kerberos on RHEL 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/rhel8/nvidia/" class="md-nav__link">
<span class="md-ellipsis">
CUDA and Proprietary Nvidia GPU Drivers on RHEL 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../deployment/rhel8/vendor_documentation/" class="md-nav__link">
<span class="md-ellipsis">
Vendor Documentation
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_10" >
<div class="md-nav__link md-nav__container">
<a href="../../../deployment/rhel9/" class="md-nav__link ">
<span class="md-ellipsis">
Rhel9
</span>
</a>
<label class="md-nav__link " for="__nav_2_5_10" id="__nav_2_5_10_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_10">
<span class="md-nav__icon md-icon"></span>
Rhel9
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../deployment/rhel9/hardware_compatibility/" class="md-nav__link">
<span class="md-ellipsis">
Hardware Compatibility
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../guidelines/" class="md-nav__link">
<span class="md-ellipsis">
Guidelines
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
<div class="md-nav__link md-nav__container">
<a href="../../../puppet/" class="md-nav__link ">
<span class="md-ellipsis">
Puppet
</span>
</a>
<label class="md-nav__link " for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_7">
<span class="md-nav__icon md-icon"></span>
Puppet
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../puppet/hiera/" class="md-nav__link">
<span class="md-ellipsis">
Hiera
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../puppet/puppet_client/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../puppet/puppet_development/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Development
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../puppet/puppet_environments/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Environments
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../ssh_gateways/" class="md-nav__link">
<span class="md-ellipsis">
Admin Guide - SSH Gateways
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
<label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
<span class="md-ellipsis">
Troubleshooting
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_9">
<span class="md-nav__icon md-icon"></span>
Troubleshooting
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../troubleshooting/boot/" class="md-nav__link">
<span class="md-ellipsis">
Boot Issues
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/deployment/" class="md-nav__link">
<span class="md-ellipsis">
Deployment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/filesystem/" class="md-nav__link">
<span class="md-ellipsis">
Filesystem
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/gvfs/" class="md-nav__link">
<span class="md-ellipsis">
GVFS (Gnome Virtual Filesystem)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/journald/" class="md-nav__link">
<span class="md-ellipsis">
Journald
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/kerberos/" class="md-nav__link">
<span class="md-ellipsis">
Kerberos
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/login/" class="md-nav__link">
<span class="md-ellipsis">
Login and Remote Access
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/lvm/" class="md-nav__link">
<span class="md-ellipsis">
LVM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/network/" class="md-nav__link">
<span class="md-ellipsis">
Network
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/nvidia/" class="md-nav__link">
<span class="md-ellipsis">
Nvidia
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/packages/" class="md-nav__link">
<span class="md-ellipsis">
Packages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/pam/" class="md-nav__link">
<span class="md-ellipsis">
PAM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/pcie_bus_error/" class="md-nav__link">
<span class="md-ellipsis">
PCIe Bus Error
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/processes/" class="md-nav__link">
<span class="md-ellipsis">
Processes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/puppet/" class="md-nav__link">
<span class="md-ellipsis">
Puppet
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/rpm/" class="md-nav__link">
<span class="md-ellipsis">
RPM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/selinux/" class="md-nav__link">
<span class="md-ellipsis">
SELinux
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/sssd/" class="md-nav__link">
<span class="md-ellipsis">
SSSD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../troubleshooting/systemd/" class="md-nav__link">
<span class="md-ellipsis">
Systemd
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../unix_groups/" class="md-nav__link">
<span class="md-ellipsis">
Admin Guide - Unix Groups / Group Management
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
<label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
<span class="md-ellipsis">
Administration
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_11">
<span class="md-nav__icon md-icon"></span>
Administration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../administration/afs_legacy_workflows/" class="md-nav__link">
<span class="md-ellipsis">
AFS Legacy Workflows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../administration/schedule_tasks/" class="md-nav__link">
<span class="md-ellipsis">
Schedule (One-time) Tasks
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12" checked>
<div class="md-nav__link md-nav__container">
<a href="../../" class="md-nav__link ">
<span class="md-ellipsis">
Configuration
</span>
</a>
<label class="md-nav__link " for="__nav_2_12" id="__nav_2_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_12_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_2_12">
<span class="md-nav__icon md-icon"></span>
Configuration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_2" >
<div class="md-nav__link md-nav__container">
<a href="../../access/" class="md-nav__link ">
<span class="md-ellipsis">
Access
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_2" id="__nav_2_12_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_2">
<span class="md-nav__icon md-icon"></span>
Access
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../access/bastion_hosts/" class="md-nav__link">
<span class="md-ellipsis">
Bastion Hosts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/eaccounts/" class="md-nav__link">
<span class="md-ellipsis">
Eaccounts (Experiment Account)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/mfa/" class="md-nav__link">
<span class="md-ellipsis">
MFA - Multi Factor Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/service_user/" class="md-nav__link">
<span class="md-ellipsis">
Service User/Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/ssh_authorized_keys/" class="md-nav__link">
<span class="md-ellipsis">
SSH Authorized Keys
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/ssh_host_hopping/" class="md-nav__link">
<span class="md-ellipsis">
SSH Host Hopping as Root (e.g. between cluster members)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/sshd_configuration/" class="md-nav__link">
<span class="md-ellipsis">
SSH Server Configuration (sshd)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/sudo/" class="md-nav__link">
<span class="md-ellipsis">
Custom sudo Rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../access/system_access/" class="md-nav__link">
<span class="md-ellipsis">
Regular and Administrative User Access
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_3" >
<div class="md-nav__link md-nav__container">
<a href="../../basic/" class="md-nav__link ">
<span class="md-ellipsis">
Basic
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_3" id="__nav_2_12_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_3">
<span class="md-nav__icon md-icon"></span>
Basic
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../basic/ad_integration/" class="md-nav__link">
<span class="md-ellipsis">
Active Directory (AD) Integration by SSSD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/cisco_vpn/" class="md-nav__link">
<span class="md-ellipsis">
VPN with Cisco Secure Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/configuration_email/" class="md-nav__link">
<span class="md-ellipsis">
Configuration to Send/Relay Emails
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/crypto_policy/" class="md-nav__link">
<span class="md-ellipsis">
Cryptographic Policy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/dhcpd/" class="md-nav__link">
<span class="md-ellipsis">
DHCPD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/gssproxy_with_keytab/" class="md-nav__link">
<span class="md-ellipsis">
Permanent Kerberos with gssproxy and Password Keytab
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/home_directory/" class="md-nav__link">
<span class="md-ellipsis">
Home Directory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/host_rename/" class="md-nav__link">
<span class="md-ellipsis">
Host Renaming
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/kerberos/" class="md-nav__link">
<span class="md-ellipsis">
Additional Kerberos Aliases and Services
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/networking/" class="md-nav__link">
<span class="md-ellipsis">
Network Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/ntp_client/" class="md-nav__link">
<span class="md-ellipsis">
Custom NTP Servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/ntp_server/" class="md-nav__link">
<span class="md-ellipsis">
NTP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/puppet_agent/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Agent Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/ssh_client/" class="md-nav__link">
<span class="md-ellipsis">
Default SSH Client Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/static_host_entries/" class="md-nav__link">
<span class="md-ellipsis">
Static Host Entries
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/sysctl/" class="md-nav__link">
<span class="md-ellipsis">
sysctl
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/tls_ca/" class="md-nav__link">
<span class="md-ellipsis">
Additional CA (e.g. for TLS/SSL Interception/Inspection)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/users_and_groups/" class="md-nav__link">
<span class="md-ellipsis">
Add/Configure Users and Groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../basic/verbose_boot/" class="md-nav__link">
<span class="md-ellipsis">
Verbose Boot
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_4" >
<div class="md-nav__link md-nav__container">
<a href="../../desktop/" class="md-nav__link ">
<span class="md-ellipsis">
Desktop
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_4" id="__nav_2_12_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_4">
<span class="md-nav__icon md-icon"></span>
Desktop
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../desktop/alternative_desktops/" class="md-nav__link">
<span class="md-ellipsis">
Alternative Desktops/Window Managers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/autologin/" class="md-nav__link">
<span class="md-ellipsis">
Autologin
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/banner_message/" class="md-nav__link">
<span class="md-ellipsis">
Banner Message
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/dconf/" class="md-nav__link">
<span class="md-ellipsis">
Systemwide Custom Gnome Settings with dconf
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/desktop/" class="md-nav__link">
<span class="md-ellipsis">
Enabling Desktop Environment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/gnome/" class="md-nav__link">
<span class="md-ellipsis">
Gnome
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/gnome_extensions/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Extensions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/keyboard_layout/" class="md-nav__link">
<span class="md-ellipsis">
Keyboard Layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/multiscreen_setup/" class="md-nav__link">
<span class="md-ellipsis">
Multi Screen Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/printing/" class="md-nav__link">
<span class="md-ellipsis">
Printing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/program_starter/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Program Starter: Dash, Dock or Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/screen_lock/" class="md-nav__link">
<span class="md-ellipsis">
Screen Lock
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../desktop/xrdp/" class="md-nav__link">
<span class="md-ellipsis">
RDP Remote Access with XRDP
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_5" >
<div class="md-nav__link md-nav__container">
<a href="../../files/" class="md-nav__link ">
<span class="md-ellipsis">
Files
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_5" id="__nav_2_12_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_5">
<span class="md-nav__icon md-icon"></span>
Files
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../files/afs/" class="md-nav__link">
<span class="md-ellipsis">
AFS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/autofs/" class="md-nav__link">
<span class="md-ellipsis">
autofs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/central_storage_mount/" class="md-nav__link">
<span class="md-ellipsis">
Central Storage Mount (/psi.ch)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/distribute_files/" class="md-nav__link">
<span class="md-ellipsis">
Distribute Files
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/mount/" class="md-nav__link">
<span class="md-ellipsis">
Mounting Volumes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/multipath/" class="md-nav__link">
<span class="md-ellipsis">
Multipath Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/nfs4_acls/" class="md-nav__link">
<span class="md-ellipsis">
NFS4 ACLs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/nfs_server/" class="md-nav__link">
<span class="md-ellipsis">
NFS Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/partially_shared_home/" class="md-nav__link">
<span class="md-ellipsis">
Partially Shared Home - Automatically Link or Copy Files in Home - Admin Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/partitioning/" class="md-nav__link">
<span class="md-ellipsis">
Partitioning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/resize_vm_disk/" class="md-nav__link">
<span class="md-ellipsis">
Resize VM Disk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/sftp_server/" class="md-nav__link">
<span class="md-ellipsis">
SFTP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/systemd_tmpfiles/" class="md-nav__link">
<span class="md-ellipsis">
systemd-tmpfiles
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../files/windows_drives_in_home/" class="md-nav__link">
<span class="md-ellipsis">
Personal (Windows) Drives in Home Directory
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_6" >
<label class="md-nav__link" for="__nav_2_12_6" id="__nav_2_12_6_label" tabindex="0">
<span class="md-ellipsis">
Https
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_6">
<span class="md-nav__icon md-icon"></span>
Https
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../https/acme/" class="md-nav__link">
<span class="md-ellipsis">
ACME - Automatic HTTPS Certificates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../https/certificates/" class="md-nav__link">
<span class="md-ellipsis">
Static HTTPS Certificates
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_7" >
<div class="md-nav__link md-nav__container">
<a href="../../monitoring/" class="md-nav__link ">
<span class="md-ellipsis">
Monitoring
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_7" id="__nav_2_12_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_12_7">
<span class="md-nav__icon md-icon"></span>
Monitoring
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../monitoring/alloy/" class="md-nav__link">
<span class="md-ellipsis">
Grafana Alloy for environment admins
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/central_logging_elastic/" class="md-nav__link">
<span class="md-ellipsis">
Configure Central Logging to Elastic
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/grafana_test/" class="md-nav__link">
<span class="md-ellipsis">
Add Development Hosts to grafana-test
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/icinga2/" class="md-nav__link">
<span class="md-ellipsis">
Icinga2 Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/journal_remote/" class="md-nav__link">
<span class="md-ellipsis">
Central Journal Server ( systemd-journal-remote)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/journald/" class="md-nav__link">
<span class="md-ellipsis">
Journald Tuning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/metrics_telegraf/" class="md-nav__link">
<span class="md-ellipsis">
Metric Collections - Configuration Telegraf
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../monitoring/syslog_forwarding/" class="md-nav__link">
<span class="md-ellipsis">
Syslog Forwarding
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_12_8" checked>
<div class="md-nav__link md-nav__container">
<a href="../" class="md-nav__link ">
<span class="md-ellipsis">
Software
</span>
</a>
<label class="md-nav__link " for="__nav_2_12_8" id="__nav_2_12_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_12_8_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_2_12_8">
<span class="md-nav__icon md-icon"></span>
Software
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../citrix_vda/" class="md-nav__link">
<span class="md-ellipsis">
Citrix VDA Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cockpit/" class="md-nav__link">
<span class="md-ellipsis">
Cockpit
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../conda/" class="md-nav__link">
<span class="md-ellipsis">
Conda / Anaconda
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../custom_repositories/" class="md-nav__link">
<span class="md-ellipsis">
Custom RPM Repositories
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../environment_modules/" class="md-nav__link">
<span class="md-ellipsis">
Environment Modules - environment-modules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../flatpak/" class="md-nav__link">
<span class="md-ellipsis">
Flatpak
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../gcc_compilers/" class="md-nav__link">
<span class="md-ellipsis">
GCC Compilers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../intel_compilers/" class="md-nav__link">
<span class="md-ellipsis">
Intel Compilers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../labview/" class="md-nav__link">
<span class="md-ellipsis">
LabView
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../mathematica/" class="md-nav__link">
<span class="md-ellipsis">
Mathematica
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../matlab/" class="md-nav__link">
<span class="md-ellipsis">
Matlab
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../package_repositories/" class="md-nav__link">
<span class="md-ellipsis">
Selecting Package Repositories
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../package_updates/" class="md-nav__link">
<span class="md-ellipsis">
Automated Package Updates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../packagekit/" class="md-nav__link">
<span class="md-ellipsis">
PackageKit/Gnome Software
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../packages/" class="md-nav__link">
<span class="md-ellipsis">
Package Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../pixi_micromamba/" class="md-nav__link">
<span class="md-ellipsis">
Pixi / Micromamba
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../pmodules/" class="md-nav__link">
<span class="md-ellipsis">
PModules
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Python
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Python
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="On this page">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
On this page
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#platform-python-vs-default-python" class="md-nav__link">
<span class="md-ellipsis">
Platform Python vs Default Python
</span>
</a>
<nav class="md-nav" aria-label="Platform Python vs Default Python">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#using-the-platform-python" class="md-nav__link">
<span class="md-ellipsis">
Using the Platform Python
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#python-versions" class="md-nav__link">
<span class="md-ellipsis">
Python Versions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#configuration" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
<nav class="md-nav" aria-label="Configuration">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#installing-and-setting-a-default-python" class="md-nav__link">
<span class="md-ellipsis">
Installing and Setting a Default Python
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#installing-additional-python-versions" class="md-nav__link">
<span class="md-ellipsis">
Installing Additional Python Versions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#installing-pypi-packages" class="md-nav__link">
<span class="md-ellipsis">
Installing PYPI Packages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pypi-package-caching-proxy" class="md-nav__link">
<span class="md-ellipsis">
PYPI Package Caching Proxy
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../selinux_configuration/" class="md-nav__link">
<span class="md-ellipsis">
SELinux Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../services/" class="md-nav__link">
<span class="md-ellipsis">
Managing Services with Systemd
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../timers/" class="md-nav__link">
<span class="md-ellipsis">
Systemd Timers for Regular Tasks
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_13" >
<div class="md-nav__link md-nav__container">
<a href="../../../security/" class="md-nav__link ">
<span class="md-ellipsis">
Security
</span>
</a>
<label class="md-nav__link " for="__nav_2_13" id="__nav_2_13_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_13">
<span class="md-nav__icon md-icon"></span>
Security
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../security/firewall/" class="md-nav__link">
<span class="md-ellipsis">
Firewall Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../security/mitigation_copyfail/" class="md-nav__link">
<span class="md-ellipsis">
Mitigation copy.fail
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../security/mitigation_dirty_frag/" class="md-nav__link">
<span class="md-ellipsis">
Mitigation Dirty Frag
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<div class="md-nav__link md-nav__container">
<a href="../../../../announcements/" class="md-nav__link ">
<span class="md-ellipsis">
Announcements
</span>
</a>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Announcements
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<div class="md-nav__link md-nav__container">
<a href="../../../../engineering-guide/" class="md-nav__link ">
<span class="md-ellipsis">
Engineering guide
</span>
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Engineering guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../engineering-guide/accounts-and-groups/" class="md-nav__link">
<span class="md-ellipsis">
Accounts and Groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/active-directory/" class="md-nav__link">
<span class="md-ellipsis">
Active Directory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/boot_server/" class="md-nav__link">
<span class="md-ellipsis">
TFTP Boot Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/gitea-dmz/" class="md-nav__link">
<span class="md-ellipsis">
Gitea (Production)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/gitea/" class="md-nav__link">
<span class="md-ellipsis">
Gitea (Test)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/icinga2/" class="md-nav__link">
<span class="md-ellipsis">
Icinga2 Architecture/Design/Setup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/influx/" class="md-nav__link">
<span class="md-ellipsis">
Metrics Server - Influx DB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/infrastructure_administration/" class="md-nav__link">
<span class="md-ellipsis">
Infrastructure Administration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/infrastructure_systems/" class="md-nav__link">
<span class="md-ellipsis">
Infrastructure Systems
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/initial_setup/" class="md-nav__link">
<span class="md-ellipsis">
Initial Infrastructure Setup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/ipxe/" class="md-nav__link">
<span class="md-ellipsis">
PXE-booting with iPXE
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/login/" class="md-nav__link">
<span class="md-ellipsis">
Login Nodes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/lxsup/" class="md-nav__link">
<span class="md-ellipsis">
Login Node - Supporters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/matlab/" class="md-nav__link">
<span class="md-ellipsis">
Matlab Infrastructure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/metrics/" class="md-nav__link">
<span class="md-ellipsis">
Metrics Server - Grafana
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_17" >
<label class="md-nav__link" for="__nav_4_17" id="__nav_4_17_label" tabindex="0">
<span class="md-ellipsis">
Puppet
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_17">
<span class="md-nav__icon md-icon"></span>
Puppet
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../engineering-guide/puppet/api/" class="md-nav__link">
<span class="md-ellipsis">
Puppet API
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/puppet/modules/" class="md-nav__link">
<span class="md-ellipsis">
Modules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/puppet/overview/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/puppet_server/" class="md-nav__link">
<span class="md-ellipsis">
Puppet Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/repo_server/" class="md-nav__link">
<span class="md-ellipsis">
Repository Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/sync_server/" class="md-nav__link">
<span class="md-ellipsis">
Sync Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/sysdb_environments/" class="md-nav__link">
<span class="md-ellipsis">
Hiera Environments
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/sysdb_server/" class="md-nav__link">
<span class="md-ellipsis">
Sysdb Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/test_systems/" class="md-nav__link">
<span class="md-ellipsis">
Test Systems
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/webhosting/" class="md-nav__link">
<span class="md-ellipsis">
Webhosting with Docker-Compose
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_26" >
<div class="md-nav__link md-nav__container">
<a href="../../../../engineering-guide/nx_nomachine/" class="md-nav__link ">
<span class="md-ellipsis">
Nx nomachine
</span>
</a>
<label class="md-nav__link " for="__nav_4_26" id="__nav_4_26_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_26_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_26">
<span class="md-nav__icon md-icon"></span>
Nx nomachine
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../engineering-guide/nx_nomachine/administration/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Administration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/nx_nomachine/configuration/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/nx_nomachine/design/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Design
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/nx_nomachine/troubleshooting/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../engineering-guide/nx_nomachine/usecases/" class="md-nav__link">
<span class="md-ellipsis">
NoMachine - Usecases
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<div class="md-nav__link md-nav__container">
<a href="../../../../management/" class="md-nav__link ">
<span class="md-ellipsis">
Management
</span>
</a>
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Management
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../management/redhat_product_lifecycle/" class="md-nav__link">
<span class="md-ellipsis">
RedHat Product Lifecycle
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../management/strategy/" class="md-nav__link">
<span class="md-ellipsis">
Linux Strategy
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<div class="md-nav__link md-nav__container">
<a href="../../../../services/" class="md-nav__link ">
<span class="md-ellipsis">
Services
</span>
</a>
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Services
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../services/gmgt/" class="md-nav__link">
<span class="md-ellipsis">
gmgt.psi.ch
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/nx_nomachine/" class="md-nav__link">
<span class="md-ellipsis">
NX Nomachine
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/python/" class="md-nav__link">
<span class="md-ellipsis">
Python
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/ssh_gateways/" class="md-nav__link">
<span class="md-ellipsis">
SSH Gateways
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/unix_groups/" class="md-nav__link">
<span class="md-ellipsis">
Unix Groups / Group Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/webhosting/" class="md-nav__link">
<span class="md-ellipsis">
WebHosting
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_8" >
<div class="md-nav__link md-nav__container">
<a href="../../../../services/gitea/" class="md-nav__link ">
<span class="md-ellipsis">
Gitea
</span>
</a>
<label class="md-nav__link " for="__nav_6_8" id="__nav_6_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_8">
<span class="md-nav__icon md-icon"></span>
Gitea
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../services/gitea/authentication/" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/gitea/gitea-faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/gitea/gitea-migration/" class="md-nav__link">
<span class="md-ellipsis">
Migration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/gitea/gitea-packages/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Packages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/gitea/gitea-pages/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Pages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/gitea/gitea-runner/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Runner
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../services/gitea/gitea-snippets/" class="md-nav__link">
<span class="md-ellipsis">
Gitea Snippets
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<div class="md-nav__link md-nav__container">
<a href="../../../../user-guide/" class="md-nav__link ">
<span class="md-ellipsis">
User guide
</span>
</a>
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
User guide
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../user-guide/MFA/" class="md-nav__link">
<span class="md-ellipsis">
MFA / OTP - Multi Factor Authentication
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/MS_Teams_Webhooks/" class="md-nav__link">
<span class="md-ellipsis">
Webhooks to Microsoft Teams
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/afs_migration/" class="md-nav__link">
<span class="md-ellipsis">
AFS Migration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/consoles/" class="md-nav__link">
<span class="md-ellipsis">
(RHEL9) Beamline Consoles
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/eaccounts/" class="md-nav__link">
<span class="md-ellipsis">
Experimental Accounts - pgroup - eaccount
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/env_variables/" class="md-nav__link">
<span class="md-ellipsis">
User Specific Environment Variables for the Desktop
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/evolution_for_o365/" class="md-nav__link">
<span class="md-ellipsis">
Configure Evolution for 0ffice365
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/firefox_profile_per_host/" class="md-nav__link">
<span class="md-ellipsis">
Per Host Default Profile for Firefox
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/git/" class="md-nav__link">
<span class="md-ellipsis">
Git
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/gnome_desktop_icons/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Desktop Icons
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/gnome_screenshots/" class="md-nav__link">
<span class="md-ellipsis">
Gnome Screenshots and Screencasts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/kerberos_lifetime/" class="md-nav__link">
<span class="md-ellipsis">
Kerberos for Long Running Programs/Simulations/Shell Sessions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/linux_terminalserver/" class="md-nav__link">
<span class="md-ellipsis">
Linux Terminalserver
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/login_servers/" class="md-nav__link">
<span class="md-ellipsis">
Login Servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/manual_nfs_mount/" class="md-nav__link">
<span class="md-ellipsis">
(Manual) NFS Mounts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/manual_smb_mount/" class="md-nav__link">
<span class="md-ellipsis">
(Manual) SMB Mounts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/mpirun/" class="md-nav__link">
<span class="md-ellipsis">
Start Long Running Programs/Simulations with mpirun
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/ms_teams/" class="md-nav__link">
<span class="md-ellipsis">
Microsoft Teams
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/order_linux_system/" class="md-nav__link">
<span class="md-ellipsis">
Order / Replacement Linux System / Console
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/personal_drive/" class="md-nav__link">
<span class="md-ellipsis">
Personal Drive / Project Drives
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/putty/" class="md-nav__link">
<span class="md-ellipsis">
SSH Access from Windows using Putty
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/ssh/" class="md-nav__link">
<span class="md-ellipsis">
SSH
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/ssh_client_config/" class="md-nav__link">
<span class="md-ellipsis">
Personal SSH Client Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/ssh_host_key_certificates/" class="md-nav__link">
<span class="md-ellipsis">
SSH Host Key Certificates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/ssh_to_legacy_linux/" class="md-nav__link">
<span class="md-ellipsis">
SSH To Legacy Linux Systems
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/switch_drive/" class="md-nav__link">
<span class="md-ellipsis">
SwitchDrive / Owncloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/switching_users/" class="md-nav__link">
<span class="md-ellipsis">
Switching Users
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/thunderbird_for_o365/" class="md-nav__link">
<span class="md-ellipsis">
Configure Thunderbird for 0ffice365
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/vpn/" class="md-nav__link">
<span class="md-ellipsis">
VPN Access
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../user-guide/xrdp/" class="md-nav__link">
<span class="md-ellipsis">
Remote Access with RDP
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="On this page">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
On this page
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#platform-python-vs-default-python" class="md-nav__link">
<span class="md-ellipsis">
Platform Python vs Default Python
</span>
</a>
<nav class="md-nav" aria-label="Platform Python vs Default Python">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#using-the-platform-python" class="md-nav__link">
<span class="md-ellipsis">
Using the Platform Python
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#python-versions" class="md-nav__link">
<span class="md-ellipsis">
Python Versions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#configuration" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
<nav class="md-nav" aria-label="Configuration">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#installing-and-setting-a-default-python" class="md-nav__link">
<span class="md-ellipsis">
Installing and Setting a Default Python
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#installing-additional-python-versions" class="md-nav__link">
<span class="md-ellipsis">
Installing Additional Python Versions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#installing-pypi-packages" class="md-nav__link">
<span class="md-ellipsis">
Installing PYPI Packages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pypi-package-caching-proxy" class="md-nav__link">
<span class="md-ellipsis">
PYPI Package Caching Proxy
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<nav class="md-path" aria-label="Navigation" >
<ol class="md-path__list">
<li class="md-path__item">
<a href="../../../.." class="md-path__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-path__item">
<a href="../../../" class="md-path__link">
<span class="md-ellipsis">
Admin guide
</span>
</a>
</li>
<li class="md-path__item">
<a href="../../" class="md-path__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
</li>
<li class="md-path__item">
<a href="../" class="md-path__link">
<span class="md-ellipsis">
Software
</span>
</a>
</li>
</ol>
</nav>
<article class="md-content__inner md-typeset">
<a href="https://gitea.psi.ch/linux/documentation/_edit/main/docs/admin-guide/configuration/software/python.md" title="Edit this page" class="md-content__button md-icon" rel="edit">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-file-pen" viewBox="0 0 24 24"><path d="M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"/><path d="M14 2v4a2 2 0 0 0 2 2h4M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"/></svg>
</a>
<h1 id="python">Python<a class="headerlink" href="#python" title="Permanent link">&para;</a></h1>
<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h2>
<p>There are several versions of Python3 available from RedHat. This guide shows how one can install specific/multiple versions and how to configure the default Python of a system.</p>
<p>The use of Python environments like <a href="https://docs.python.org/3/library/venv.html"><code>venv</code></a> or <a href="https://docs.conda.io">Conda</a> is recommended if a single user needs one or multiple specific Python environments. But this is not part of this guide.</p>
<h2 id="platform-python-vs-default-python">Platform Python vs Default Python<a class="headerlink" href="#platform-python-vs-default-python" title="Permanent link">&para;</a></h2>
<p>As many system tools are written in Python each RHEL8/9 system comes with a so called Platform Python. This is a <em>fixed</em> Python version than cannot be modified and usually is also not available via the commandline.</p>
<p>Beside that, on each system you can install multiple Python versions. One of this Python version can then be set as the Default Python. This means that this Python version is called if you call <code>python</code> and/or <code>python3</code> on the commandline/script.</p>
<p>To explicitly call a specific Python version always specify the full version as follows: <code>python&lt;version&gt;</code>, e.g. <code>python3.12</code>. The same applies to the <code>pip</code> command!</p>
<h3 id="using-the-platform-python">Using the Platform Python<a class="headerlink" href="#using-the-platform-python" title="Permanent link">&para;</a></h3>
<p>For system tools, that should run consistently on all systems you may decide to use the "Platform Python" instead of the Default Python. For doing so you need to set the shebang of your script to</p>
<div class="language-bash highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="ch">#!/usr/libexec/platform-python</span>
</span></code></pre></div>
<h2 id="python-versions">Python Versions<a class="headerlink" href="#python-versions" title="Permanent link">&para;</a></h2>
<p>On <strong>RHEL8</strong> the Platform (and usual Default) Python version is <strong>3.6</strong>. As the time of writing following Python versions are additionally available: <em>3.8</em>, <em>3.9</em>, <em>3.11</em>, <em>3.12</em> .</p>
<p>On <strong>RHEL9</strong> the Platform (and usual Default) Python version is <strong>3.9</strong>. As the time of writing following Python versions are additionally available: <em>3.11</em>, <em>3.12</em></p>
<h2 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h2>
<p>Following hiera keys can be used to configure Python on a system.</p>
<h3 id="installing-and-setting-a-default-python">Installing and Setting a Default Python<a class="headerlink" href="#installing-and-setting-a-default-python" title="Permanent link">&para;</a></h3>
<p>To install a default Python you can use:
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">python::default_version</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;3.11&#39;</span>
</span></code></pre></div></p>
<p>This will make sure that that this Python version is installed on the system and that this Python version is available via the <code>python</code> and <code>python3</code> command. The same applies for <code>pip</code> and <code>pip3</code>.</p>
<h3 id="installing-additional-python-versions">Installing Additional Python Versions<a class="headerlink" href="#installing-additional-python-versions" title="Permanent link">&para;</a></h3>
<p>To install additional Python versions on the system you can use:</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">python::install_versions</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="s">&#39;3.6&#39;</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="s">&#39;3.12&#39;</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="s">&#39;3.14&#39;</span><span class="p p-Indicator">]</span>
</span></code></pre></div>
<p>This will take care that the necessary packages are installed on the system. These versions are then available by calling the version specific Python command <code>python&lt;version</code> (e.g. <code>python3.12</code>).</p>
<h3 id="installing-pypi-packages">Installing PYPI Packages<a class="headerlink" href="#installing-pypi-packages" title="Permanent link">&para;</a></h3>
<p>You can install PYPI packages for the individual Python versions the same way as installing RPMS on a system (i.e. via the Puppet package module).</p>
<p>This can be done by adding a label after the PYPI package name:</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nt">base::pkg_group::python_packages</span><span class="p">:</span>
</span><span id="__span-3-2"><a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;numpy:pip&#39;</span><span class="w"> </span><span class="c1"># installs package for the systems default python</span>
</span><span id="__span-3-3"><a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;numpy:pip3.12&#39;</span><span class="w"> </span><span class="c1"># installs numpy via PYPI for `python3.12`</span>
</span><span id="__span-3-4"><a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>
</span><span id="__span-3-5"><a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="nt">base::package_groups</span><span class="p">:</span>
</span><span id="__span-3-6"><a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">&#39;python_packages&#39;</span>
</span></code></pre></div>
<p><strong>IMPORTANT:</strong> Note that packages installed with <code>pip</code> are not updated automatically!</p>
<p>For additional information on how to install packages (including <code>pip</code>) please check out <a href="../packages">this guide</a>.</p>
<div class="language-text highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>The packages prefixed with `python3-` are for the default Default Python version. For newer versions RedHat has a versioned prefix like `python38-` or `python3.11-`. There might not be for all libraries packages for all available Python versions. Then you might need to install your library with `pip`.
</span></code></pre></div>
<h3 id="pypi-package-caching-proxy">PYPI Package Caching Proxy<a class="headerlink" href="#pypi-package-caching-proxy" title="Permanent link">&para;</a></h3>
<p>By default all managed RHEL systems at PSI have configured a PYPI package caching proxy (pypi.psi.ch). This proxy is used by default for all <code>pip</code> installations on the system.</p>
<p>If you want to disable this behavior you can use the following hiera key:</p>
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="nt">python::use_pip_cache</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
</span></code></pre></div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you once had the caching proxy configured, you might need to manually remove <code>/etc/pip.conf</code> to disable the proxy again before you apply this setting.</p>
</div>
</article>
</div>
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-circle-arrow-up" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="m16 12-4-4-4 4M12 16V8"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../pmodules/" class="md-footer__link md-footer__link--prev" aria-label="Previous: PModules">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-arrow-left" viewBox="0 0 24 24"><path d="m12 19-7-7 7-7M19 12H5"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
PModules
</div>
</div>
</a>
<a href="../selinux_configuration/" class="md-footer__link md-footer__link--next" aria-label="Next: SELinux Configuration">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
SELinux Configuration
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-arrow-right" viewBox="0 0 24 24"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2026 Paul Scherrer Institute
</div>
Made with
<a href="https://zensical.org/" target="_blank" rel="noopener">
Zensical
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate":null,"base":"../../../..","features":["announce.dismiss","content.action.edit","content.code.annotate","content.code.copy","content.code.select","content.footnote.tooltips","content.tabs.link","content.tooltips","navigation.footer","navigation.indexes","navigation.instant","navigation.instant.prefetch","navigation.path","navigation.top","navigation.tracking","search.highlight"],"search":"../../../../assets/javascripts/workers/search.5df7522c.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":null}</script>
<script src="../../../../assets/javascripts/bundle.21aa498e.min.js"></script>
<script src="../../../../assets/asciinema-player.min.js"></script>
</body>
</html>