Skip to content

Latest commit

 

History

History
157 lines (129 loc) · 5.53 KB

getting_started.rst

File metadata and controls

157 lines (129 loc) · 5.53 KB

Getting started

Once :ref:`installed <installing>`, the command line tool can be used in a shell as follows:

>>> qip -h

To install a package available on :term:`PyPi` with its dependencies, simply run the following command:

>>> qip install ipython

Note

Packages deployed in a custom index such as :term:`Devpi` will also be available.

By default, the Python packages and corresponding :term:`Wiz` definition will be installed in the temporary path of the station:

>>> tree -L 3 /tmp/qip
├── definitions
│   ├── library-appnope-0.1.0-wfOwykDoXMk2LHJ6B1X0ZWpB-Js.json
│   ├── library-backcall-0.2.0.json
│   ├── library-decorator-4.4.2.json
│   ├── library-ipython-7.18.1.json
│   ├── library-ipython-genutils-0.2.0.json
│   ├── library-jedi-0.17.2.json
│   ├── library-parso-0.7.1.json
│   ├── library-pexpect-4.8.0-wfOwykDoXMk2LHJ6B1X0ZWpB-Js.json
│   ├── library-pickleshare-0.7.5.json
│   ├── library-prompt-toolkit-3.0.7.json
│   ├── library-ptyprocess-0.6.0-wfOwykDoXMk2LHJ6B1X0ZWpB-Js.json
│   ├── library-pygments-2.7.0.json
│   ├── library-setuptools-50.3.0.json
│   ├── library-traitlets-5.0.4.json
│   └── library-wcwidth-0.2.5-wfOwykDoXMk2LHJ6B1X0ZWpB-Js.json
└── packages
    ├── Pygments
    │   └── Pygments-2.7.0-py38
    ├── appnope
    │   └── appnope-0.1.0-py38-mac10
    ├── backcall
    │   └── backcall-0.2.0-py38
    ├── decorator
    │   └── decorator-4.4.2-py38
    ├── ipython
    │   └── ipython-7.18.1-py38
    ├── ipython-genutils
    │   └── ipython-genutils-0.2.0-py38
    ├── jedi
    │   └── jedi-0.17.2-py38
    ├── parso
    │   └── parso-0.7.1-py38
    ├── pexpect
    │   └── pexpect-4.8.0-py38-mac10
    ├── pickleshare
    │   └── pickleshare-0.7.5-py38
    ├── prompt-toolkit
    │   └── prompt-toolkit-3.0.7-py38
    ├── ptyprocess
    │   └── ptyprocess-0.6.0-py38-mac10
    ├── setuptools
    │   └── setuptools-50.3.0-py38
    ├── traitlets
    │   └── traitlets-5.0.4-py38
    └── wcwidth
        └── wcwidth-0.2.5-py38-mac10

The :term:`Wiz` definition for "ipython" will look as follows:

{
    "identifier": "ipython",
    "version": "7.18.1",
    "namespace": "library",
    "description": "IPython: Productive Interactive Computing",
    "install-root": "/tmp/qip/packages",
    "command": {
        "iptest": "python -m IPython.testing.iptestcontroller",
        "iptest3": "python -m IPython.testing.iptestcontroller",
        "ipython": "python -m IPython",
        "ipython3": "python -m IPython"
    },
    "environ": {
        "PYTHONPATH": "${INSTALL_LOCATION}:${PYTHONPATH}"
    },
    "variants": [
        {
            "identifier": "3.8",
            "install-location": "${INSTALL_ROOT}/ipython/ipython-7.18.1-py38/lib/python3.8/site-packages",
            "requirements": [
                "python >= 3.8, < 3.9",
                "library::decorator[3.8]",
                "library::traitlets[3.8] >=4.2",
                "library::jedi[3.8] >=0.10",
                "library::prompt-toolkit[3.8] >=2.0.0, <3.1.0, !=3.0.1, !=3.0.0",
                "library::pexpect[3.8] >4.3",
                "library::pygments[3.8]",
                "library::appnope[3.8]",
                "library::backcall[3.8]",
                "library::setuptools[3.8] >=18.5",
                "library::pickleshare[3.8]"
            ]
        }
    ]
}

By default, Qip will install Python packages using the current :data:`Python executable <sys.executable>`. It is possible to change it with the :option:`-p/--python <qip install --python>` option:

>>> qip install -u -p `which python2` ipython

Note

The :option:`-u/--update <qip install --update>` option is used to update existing :term:`Wiz` definitions with new variants corresponding to the Python version used (e.g. "2.7").

If :term:`Wiz` definitions are already deployed for the Python interpreter, it is possible to use a request instead of a Python executable path:

>>> qip install -u -p "python==2.7.*" ipython
.. seealso::

    :ref:`Getting Started with Wiz <wiz:getting_started>`

Qip is a lightweight command line tool built over the :term:`Pip` command, therefore it is possible to install packages as follows:

>>> qip install .
>>> qip install /path/to/foo/
>>> qip install "foo==0.1.0"
>>> qip install "foo >= 7, < 8"
>>> qip install "git@github.com:foo/foo-api.git"
>>> qip install "git@github.com:foo/foo-api.git@0.1.0"
>>> qip install "git@github.com:foo/foo-api.git@dev"

As Python packages will not be installed in the same location, it is also possible to install several versions of the same package:

>>> qip install "ipython==7.*" "ipython==5.*"

If :term:`Wiz` definitions are already deployed for the dependent Python interpreter, "ipython" can be run as follows:

>>> wiz -add /tmp/qip/definitions run ipython