summaryrefslogtreecommitdiffhomepage
path: root/sites/www/installing.rst
diff options
context:
space:
mode:
Diffstat (limited to 'sites/www/installing.rst')
-rw-r--r--sites/www/installing.rst78
1 files changed, 51 insertions, 27 deletions
diff --git a/sites/www/installing.rst b/sites/www/installing.rst
index 9f1f9080..5a41a76b 100644
--- a/sites/www/installing.rst
+++ b/sites/www/installing.rst
@@ -2,6 +2,13 @@
Installing
==========
+
+.. note::
+ These instructions cover Paramiko 2.0 and above. If you're looking to
+ install Paramiko 1.x, see :doc:`installing-1.x`. However, **the 1.x line
+ relies on insecure dependencies** so upgrading is strongly encouraged.
+
+
.. _paramiko-itself:
Paramiko itself
@@ -16,14 +23,15 @@ via `pip <http://pip-installer.org>`_::
Users who want the bleeding edge can install the development version via
``pip install paramiko==dev``.
-We currently support **Python 2.6, 2.7, 3.3+, and PyPy** Users on Python 2.5 or
-older are urged to upgrade.
+We currently support **Python 2.6, 2.7, 3.3+, and PyPy**. Users on Python 2.5
+or older (or 3.2 or older) are urged to upgrade.
-Paramiko has two hard dependencies: the pure-Python ASN1 module ``pyasn1``, and
-the Cryptography library. Read on for details on installing ``cryptography``.
+Paramiko has only one direct hard dependency: the Cryptography library. See
+:ref:`cryptography`.
If you need GSS-API / SSPI support, see :ref:`the below subsection on it
-<gssapi>` for details on additional dependencies.
+<gssapi>` for details on its optional dependencies.
+
.. _release-lines:
@@ -34,43 +42,53 @@ 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.
-If you're unsure which version to install, we have suggestions:
+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. the 1.7.x line) should
- probably get the **oldest actively supported line** (see the paragraph above
- this list for what that currently is.)
+* **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
+ :doc:`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
============
-`Cryptography <https://cryptography.io>`_ provides the low-level (C-based)
-encryption algorithms we need to implement the SSH protocol. There are a few
-things to be aware of when installing Cryptography, because it includes a
-C-extension.
+`Cryptography <https://cryptography.io>`__ provides the low-level (C-based)
+encryption algorithms we need to implement the SSH protocol. It has detailed
+`installation instructions`_ (and an `FAQ
+<https://cryptography.io/en/latest/faq/>`_) which you should read carefully.
+
+In general, you'll need one of the following setups:
+
+* On Windows or Mac OS X, provided your ``pip`` is modern (8.x+): nothing else
+ is required. ``pip`` will 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 and
+ ``libffi``. Again, see `Cryptography's install docs`_; these requirements may
+ occasionally change.
-C extension
------------
+ .. 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.
-Unless you are installing from a precompiled source such as a Debian apt
-repository or RedHat RPM, you will also need the ability to build Python
-C-based modules from source in order to install Cryptography. 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, OpenSSL headers, often named
-``libssl-dev``, and libffi development libraries, often named ``libffi-dev``.
+.. _installation instructions:
+.. _Cryptography's install docs: https://cryptography.io/en/latest/installation/
-For **Windows** users we recommend using the most recent version of ``pip``,
-Cryptography has binary wheels on PyPI, which remove the need for having a C
-compiler.
.. _gssapi:
@@ -96,3 +114,9 @@ due to their infrequent utility & non-platform-agnostic requirements):
delegation, make sure that the target host is trusted for delegation in the
active directory configuration. For details see:
http://technet.microsoft.com/en-us/library/cc738491%28v=ws.10%29.aspx
+
+
+.. toctree::
+ :hidden:
+
+ installing-1.x