Installing (1.x)¶
Note
Installing Paramiko 2.0 or above? See Installing instead.
This document includes legacy notes on installing Paramiko 1.x (specifically, 1.13 and up). Users are strongly encouraged to upgrade to 2.0 when possible; PyCrypto (the dependency covered below) is no longer maintained and contains security vulnerabilities.
General install notes¶
Python 2.6+ and 3.3+ are supported; Python <=2.5 and 3.0-3.2 are not supported.
See the note in the main install doc about Release lines for details on specific versions you may want to install.
Note
1.x will eventually be entirely end-of-lifed.
Paramiko 1.7-1.14 have only one dependency: PyCrypto.
Paramiko 1.15+ (not including 2.x and above) add a second, pure-Python dependency: the
ecdsa
module, trivially installable via PyPI.Paramiko 1.15+ (again, not including 2.x and up) also allows you to optionally install a few more dependencies to gain support for GSS-API/Kerberos.
Users on Windows may want to opt for the ActivePython and PyPM approach.
PyCrypto¶
PyCrypto provides the low-level (C-based) encryption algorithms we need to implement the SSH protocol. There are a couple gotchas associated with installing PyCrypto: its compatibility with Python’s package tools, and the fact that it is a C-based extension.
C extension¶
Unless you are installing from a precompiled source such as a Debian apt
repository or RedHat RPM, or using pypm, you will also need the
ability to build Python C-based modules from source in order to install
PyCrypto. Users on Unix-based platforms such as Ubuntu or Mac OS X will
need the traditional C build toolchain installed (e.g. Developer Tools / XCode
Tools on the Mac, or the build-essential
package on Ubuntu or Debian Linux
– basically, anything with gcc
, make
and so forth) as well as the
Python development libraries, often named python-dev
or similar.
For Windows users we recommend using ActivePython and PyPM, installing a C development environment such as Cygwin or obtaining a precompiled Win32 PyCrypto package from voidspace’s Python modules page.
Note
Some Windows users whose Python is 64-bit have found that the PyCrypto
dependency winrandom
may not install properly, leading to ImportErrors.
In this scenario, you’ll probably need to compile winrandom
yourself
via e.g. MS Visual Studio. See Fabric #194 for info.
ActivePython and PyPM¶
Windows users who already have ActiveState’s ActivePython distribution installed
may find Paramiko is best installed with its package manager, PyPM. Below is example output from an
installation of Paramiko via pypm
:
C:\> pypm install paramiko
The following packages will be installed into "%APPDATA%\Python" (2.7):
paramiko-1.7.8 pycrypto-2.4
Get: [pypm-free.activestate.com] paramiko 1.7.8
Get: [pypm-free.activestate.com] pycrypto 2.4
Installing paramiko-1.7.8
Installing pycrypto-2.4
C:\>
Optional dependencies for GSS-API / SSPI / Kerberos¶
First, see the main install doc’s notes: Optional dependencies for GSS-API / SSPI / Kerberos - everything there is required for Paramiko 1.x as well.
Additionally, users of Paramiko 1.x, on all platforms, need a final dependency:
pyasn1 0.1.7
or better.