Installing¶
Note
These instructions cover Paramiko 2.0 and above. If you’re looking to install Paramiko 1.x, see Installing (1.x). However, the 1.x line relies on insecure dependencies so upgrading is strongly encouraged.
Paramiko itself¶
The recommended way to get Paramiko is to install the latest stable release via pip:
$ pip install paramiko
Paramiko has only a few direct dependencies:
The big one, with its own sub-dependencies, is Cryptography; see its specific note below for more details;
There are also a handful of optional dependencies you may install using setuptools ‘extras’:
Release lines¶
Users desiring stability may wish to pin themselves to a specific release line once they first start using Paramiko; to assist in this, we guarantee bugfixes for the last 2-3 releases including the latest stable one.
This typically spans major & minor versions, so even if e.g. 3.1 is the latest stable release, it’s likely that bugfixes will occasionally come out for the latest 2.x and perhaps even 1.x releases, as well as for 3.0. New feature releases for previous major-version lines are less likely but not unheard of.
If you’re unsure which version to install:
Completely new users should always default to the latest stable release (as above, whatever is newest / whatever shows up with
pip install paramiko.)Users upgrading from a much older version (e.g. 1.7.x through 1.10.x) should probably get the oldest actively supported line (check the Changelog for recent releases).
Everybody else is hopefully already “on” a given version and can carefully upgrade to whichever version they care to, when their release line stops being supported.
Cryptography¶
Cryptography provides the low-level (C-based) encryption algorithms we need to implement the SSH protocol. It has detailed installation instructions (and an FAQ) which you should read carefully.
In general, you’ll need one of the following setups:
On Windows or Mac OS X, provided your
pipis modern (8.x+): nothing else is required.pipwill install statically compiled binary archives of Cryptography & its dependencies.On Linux, or on other platforms with older versions of
pip: you’ll need a C build toolchain, plus development headers for Python, OpenSSL andlibffi. Again, see Cryptography’s install docs; these requirements may occasionally change.Warning
If you go this route, note that OpenSSL 1.0.1 or newer is effectively required. Cryptography 1.3 and older technically allow OpenSSL 0.9.8, but 1.4 and newer - which Paramiko will gladly install or upgrade, if you e.g.
pip install -U- drop that support.Similarly, Cryptography 3.4 and above require Rust language tooling to install from source; once again see Cryptography’s documentation for details here, such as their Rust install section and this FAQ entry.