oh-my-posh/website/docs/segments/python.mdx
2024-01-21 14:25:56 +01:00

68 lines
7.5 KiB
Plaintext

---
id: python
title: Python
sidebar_label: Python
---
## What
Display the currently active python version and virtualenv.
Supports conda, virtualenv and pyenv (if python points to pyenv shim).
If your virtual environment is a directory named `venv` or `.venv`, the virtual environment's name will be the parent directory.
## Sample Configuration
import Config from "@site/src/components/Config.js";
<Config
data={{
type: "python",
style: "powerline",
powerline_symbol: "\uE0B0",
foreground: "#100e23",
background: "#906cff",
template: " \uE235 {{ .Full }} ",
}}
/>
## Properties
| Name | Type | Description |
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
| `fetch_virtual_env` | `boolean` | fetch the name of the virtualenv or not - defaults to `true` |
| `display_default` | `boolean` | show the name of the virtualenv when it's default (`system`, `base`) or not - defaults to `true` |
| `fetch_version` | `boolean` | fetch the python version - defaults to `true` |
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present:<ul><li>`*.py`</li><li>`*.ipynb`</li><li>`pyproject.toml`</li><li>`venv.bak`</li><li>`venv`</li><li>`.venv`</li></ul></li><li>`environment`: the segment is only displayed when a virtual env is present (**default**)</li><li>`context`: the segment is only displayed when either `environment` or `files` is active</li></ul> |
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
| `folders` | `[]string` | allows to override the list of folder names to validate |
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
## Template ([info][templates])
:::note default template
```template
{{ if .Error }}{{ .Error }}{{ else }}{{ if .Venv }}{{ .Venv }} {{ end }}{{ .Full }}{{ end }}
```
:::
### Properties
| Name | Type | Description |
| -------- | -------- | -------------------------------------------------- |
| `.Venv` | `string` | the virtual environment name (if present) |
| `.Full` | `string` | the full version |
| `.Major` | `string` | major number |
| `.Minor` | `string` | minor number |
| `.Patch` | `string` | patch number |
| `.URL` | `string` | URL of the version info / release notes |
| `.Error` | `string` | error encountered when fetching the version string |
[go-text-template]: https://golang.org/pkg/text/template/
[templates]: /docs/configuration/templates