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:
$ 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.
$ pip install 'xonsh[full]'
This uses the pip ‘extras’ syntax, and is equivalent to:
$ 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.
$ 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.
platform package managers Various operating system distributions have platform-specific package managers which may offer a xonsh package. This may not be the most current version of xonsh, but it should have been tested for stability on that platform by the distribution managers.
OS or distribution
command
Package(s)
Debian/Ubuntu
$ [sudo] apt install
pygments prompt-toolkit setproctitle xonsh
Fedora
$ [sudo] dnf install
Arch Linux
$ [sudo] pacman -S
OSX
$ [sudo] brew install
If you run into any problems, please let us know!
Fewer Prerequisites#
A design goal of Xonsh is to run in any environment that supports a (supported) Python interpreter, you
can install just the xonsh
package (using any package manager).
pip install xonsh
When it starts up, if xonsh does not find pygments
or setproctitle
packages, it simply does not colorize
or highlight syntax or set process title, respectively.
If it does not find prompt-toolkit
package, it will
use the Python readline
module (which reads configuration file .inputrc
in a manner compatible with GNU readline
).
To ensure xonsh uses readline
even if prompt-toolkit
is installed, configure this in your
.xonshrc
file:
$SHELL_TYPE = 'readline'
Windows#
On Windows 10, the separately-installable Windows Terminal app is recommended.