ohmyzsh/plugins/python
Marc Cornellà a84bc2dadd
fix(python)!: remove harmful ipython alias (#12676)
BREAKING CHANGE: the `ipython` alias was incorrectly trying to manually call
ipython from the installed module in the virtual environment, when actually
a command already exists when loading the virtual environment. This change
removes the unnecessary alias and allows calling the right command.

Fixes #12676
2024-09-15 15:12:22 +02:00
..
python.plugin.zsh fix(python)!: remove harmful ipython alias (#12676) 2024-09-15 15:12:22 +02:00
README.md fix(python)!: remove harmful ipython alias (#12676) 2024-09-15 15:12:22 +02:00

Python plugin

The plugin adds several aliases for useful Python commands.

To use it, add python to the plugins array in your zshrc file:

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 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>. For example: export PYTHON_VENV_NAME=".venv"