# Revision history [back]

In addition to the answer by @mocha, here is an alternative way, which avoids opening the shell if you prefer to stay in Jupyter.

Open a Jupyter document in the Jupyter notebook, type the following in a code cell, and execute that cell:

!pip install admcycles --user


Explanation: the initial ! is to run a shell command from inside a Jupyter document.

If that Jupyter document is using the Sage kernel, then the pip command runs Sage's pip; you don't need to type sage -pip.

In fact this is also the case in the Sage-Windows "Sage shell", you could type

pip install admcycles --user


with just pip instead of sage -pip.

Optionally, add --upgrade to the command:

!pip install admcycles --user --upgrade


(with initial ! if you type this in Jupyter, or without it if you type this in the shell).

The extra --upgrade is useful in case you already have a version of admcycles installed, older than the latest released version.

In that case, without --upgrade, pip finds that some version of admcycles is already installed and stops there, so the old version stays installed; while with --upgrade, pip uninstalls the old version and installs the new one.