2021-12-31 08:55:01 +01:00
|
|
|
|
# Python plugin
|
2018-10-02 23:51:14 +02:00
|
|
|
|
|
2021-12-31 08:55:01 +01:00
|
|
|
|
The plugin adds several aliases for useful [Python](https://www.python.org/) commands.
|
2018-10-02 23:51:14 +02:00
|
|
|
|
|
2021-12-31 08:55:01 +01:00
|
|
|
|
To use it, add `python` to the plugins array in your zshrc file:
|
2021-09-24 22:37:09 +02:00
|
|
|
|
|
|
|
|
|
```zsh
|
2018-10-02 23:51:14 +02:00
|
|
|
|
plugins=(... python)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Aliases
|
|
|
|
|
|
2021-12-31 08:55:01 +01:00
|
|
|
|
| Command | Description |
|
|
|
|
|
| ---------------- | -------------------------------------------------------------------------------------- |
|
2023-11-24 09:35:46 +01:00
|
|
|
|
| `py` | Runs `python3`. Only set if `py` is not installed. |
|
2021-12-31 08:55:01 +01:00
|
|
|
|
| `ipython` | Runs the appropriate `ipython` version according to the activated virtualenv |
|
|
|
|
|
| `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) |
|
2021-04-01 23:35:00 +02:00
|
|
|
|
|
|
|
|
|
## Virtual environments
|
|
|
|
|
|
2024-03-03 02:37:10 +01:00
|
|
|
|
The plugin provides three utilities to manage Python 3.3+
|
|
|
|
|
[venv](https://docs.python.org/3/library/venv.html) virtual
|
|
|
|
|
environments:
|
2021-04-01 23:35:00 +02:00
|
|
|
|
|
2024-03-03 03:28:02 +01:00
|
|
|
|
- `mkv [name]`: Make a new virtual environment called *name* (else
|
|
|
|
|
`$PYTHON_VENV_NAME`, else "venv") in the current directory.
|
2021-04-01 23:35:00 +02:00
|
|
|
|
|
2024-03-03 03:28:02 +01:00
|
|
|
|
- `vrun [name]`: Activate the virtual environment called *name* (else
|
|
|
|
|
`$PYTHON_VENV_NAME`, else "venv") in the current directory.
|
2024-03-02 00:10:11 +01:00
|
|
|
|
|
|
|
|
|
- `auto_vrun`: Automatically activate the venv virtual environment when
|
|
|
|
|
cd’ing into a directory containing `venv/bin/activate`, and
|
2024-03-03 02:37:10 +01:00
|
|
|
|
automatically deactivate it when cd’ing into any other directory,
|
|
|
|
|
including subdirectories.
|
|
|
|
|
- To enable, set `PYTHON_AUTO_VRUN` to anything. For example:
|
|
|
|
|
|
|
|
|
|
export PYTHON_AUTO_VRUN='true'
|
|
|
|
|
- To disable, either unset the environment variable:
|
|
|
|
|
|
|
|
|
|
unset PYTHON_AUTO_VRUN
|
|
|
|
|
or entirely remove `auto_vrun` from the list of functions associated
|
|
|
|
|
with the `chpwd` hook:
|
|
|
|
|
|
|
|
|
|
add-zsh-hook -d chpwd auto_vrun
|
|
|
|
|
If you disable `auto_vrun` while a virtual environment is active,
|
|
|
|
|
you'll need to manually `deactivate`.
|
|
|
|
|
- The default virtual environment name is "venv". To use a different
|
|
|
|
|
name, set `PYTHON_VENV_NAME`. For example:
|
|
|
|
|
|
|
|
|
|
export PYTHON_VENV_NAME='.venv'
|