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.
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 for this.
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 (e.g. ~/.xonshrc
) file:
$SHELL_TYPE = 'readline'
Windows¶
On Windows 10, the separately-installable Windows Terminal app is recommended.