Package Manager =============== You can install xonsh using ``conda``, ``pip`` or the package manager for your operating system distribution. For the fullest interactive user experience, these additional packages should also be installed: :prompt-toolkit: for command completion, configurable key bindings and especially multi-line line editing. :pygments: for xonsh and Python syntax-specific highlighting :setproctitle: updates process title (in terminal window and process monitor) to match Xonsh arguments. Installing with these packages is the recommended configuration and is documented first. If you are operating in a specialized or restricted environment, you can install just the xonsh package, as described in `fewer prerequisites`_ **conda:** .. code-block:: console $ conda config --add channels conda-forge $ conda install xonsh **pip:** Typically you will activate a virtual environment and install xonsh there. This will ensure that you invoke the correct Python interpreter and ``pip`` module. .. code-block:: console $ pip install 'xonsh[full]' This uses the pip 'extras' syntax, and is equivalent to: .. code-block:: console $ pip install pygments prompt-toolkit setproctitle xonsh The above ``pip`` commands may have to be spelled ``pip3`` or ``sudo pip3`` if you are not installing in a virtual environment. **source:** Pip can also install the most recent xonsh source code from the `xonsh project repository `_. .. code-block:: console $ pip install pygments prompt-toolkit setproctitle https://github.com/xonsh/xonsh/archive/main.zip Spelling of ``pip`` command may likewise have to be amended as noted above. **core shell:** When using ``xonsh`` as a default shell (and we do!), it's important to ensure that it is installed in a Python environment that is independent of changes from the system package manager. If you are installing ``xonsh`` via your system package-manager, this is handled for you. If you install ``xonsh`` outside of your system package manager, you can use `xonsh-install