1
0
mirror of https://github.com/robbyrussell/oh-my-zsh.git synced 2025-12-09 17:00:44 +01:00
Files
oh-my-zsh/plugins/python/README.md
Levan Vachnadze 33663127b0 Updated Python plugin: accepts multiple venv names
- Refined automatic virtual environment activation (`auto_vrun`):
  - Enhanced support for dynamic activation of virtual environments from a list.

- Updated `vrun` function:
  - Enabled activation of the first valid virtual environment from a list of potential names.
  - Improved feedback with clear error messages when no valid environment is found.

- Enhanced `mkv` function:
  - Added support for multiple potential virtual environment names using `PYTHON_VENV_NAME` as a list.
  - Simplified path handling with explicit construction using `${PWD}`.
  - Improved error messaging and direct activation of newly created environments.

- This is my first pull request ever so please let me know if there are any issues with the changes or request.
2024-12-01 07:21:04 +04:00

41 lines
2.1 KiB
Markdown

# Python plugin
The plugin adds several aliases for useful [Python](https://www.python.org/) commands.
To use it, add `python` to the plugins array in your zshrc file:
```zsh
plugins=(... python)
```
## Aliases
| Command | Description |
| ---------------- | -------------------------------------------------------------------------------------- |
| `py` | Runs `python3`. Only set if `py` is not installed. |
| `pyfind` | Finds .py files recursively in the current directory |
| `pyclean [dirs]` | Deletes byte-code and cache files from a list of directories or the current one |
| `pygrep <text>` | Looks for `text` in `*.py` files in the current directory, recursively |
| `pyuserpaths` | Add user site-packages folders to `PYTHONPATH`, for Python 2 and 3 |
| `pyserver` | Starts an HTTP server on the current directory (use `--directory` for a different one) |
## Virtual environments
The plugin provides three utilities to manage Python 3.3+ [venv](https://docs.python.org/3/library/venv.html)
virtual environments:
- `mkv [name]`: make a new virtual environment called `name` (default: if set `$PYTHON_VENV_NAME`, else
`venv`) in the current directory.
- `vrun [name]`: Activate the virtual environment called `name` (default: if set `$PYTHON_VENV_NAME`, else
`venv`) in the current directory.
- `auto_vrun`: Automatically activate the venv virtual environment when entering a directory containing
`<venv-name>/bin/activate`, and automatically deactivate it when navigating out of it (keeps venv activated
in subdirectories).
- To enable the feature, set `export PYTHON_AUTO_VRUN=true` before sourcing oh-my-zsh.
- Plugin activates first virtual environment in lexicographic order whose name begins with `<venv-name>`.
The default virtual environment name is `venv`. To use a different name, set
`export PYTHON_VENV_NAME=("<venv-name>" "venv-name2")`. For example:
`export PYTHON_VENV_NAME=(".venv" "venv" ".env" "env")`