mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2025-12-09 17:00:44 +01:00
- 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.
41 lines
2.1 KiB
Markdown
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")`
|