X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c5cb2cebf5912642dc576760eaa687fa1d9c9cce..b49229f98012d7c08ce02b8d28dbcc165c8a6c53:/doc/sdk/python/sdk-python.html.textile.liquid diff --git a/doc/sdk/python/sdk-python.html.textile.liquid b/doc/sdk/python/sdk-python.html.textile.liquid index b86a7fb40a..c8b2b67b11 100644 --- a/doc/sdk/python/sdk-python.html.textile.liquid +++ b/doc/sdk/python/sdk-python.html.textile.liquid @@ -2,69 +2,93 @@ layout: default navsection: sdk navmenu: Python -title: "Python SDK" - +title: "Installation" ... +{% comment %} +Copyright (C) The Arvados Authors. All rights reserved. -The Python SDK provides a generic set of wrappers so you can make API calls easily. It performs some validation before connecting to the API server: for example, it refuses to do an API call if a required parameter is missing. +SPDX-License-Identifier: CC-BY-SA-3.0 +{% endcomment %} -The library also includes some conveniences for use in Crunch scripts; see "Crunch utility libraries":crunch-utility-libraries.html for details. +The Python SDK provides access from Python to the Arvados API and Keep. It also includes a number of command line tools for using and administering Arvados and Keep, and some conveniences for use in Crunch scripts; see "Crunch utility libraries":crunch-utility-libraries.html for details. -h3. Installation +h2. Installation If you are logged in to an Arvados VM, the Python SDK should be installed. -To use the Python SDK elsewhere, you can install from a distribution package, PyPI, or source. +To use the Python SDK elsewhere, you can install from PyPI or a distribution package. -{% include 'notebox_begin' %} -The Python SDK requires Python 2.7. -{% include 'notebox_end' %} +The Python SDK supports Python 2.7 and 3.4+ -h4. Option 1: Install from distribution packages +h3. Option 1: Install with pip -First, "add the appropriate package repository for your distribution":{{ site.baseurl }}/install/install-manual-prerequisites.html#repos. +This installation method is recommended to make the SDK available for use in your own Python programs. It can coexist with the system-wide installation method from a distribution package (option 2, below). -{% include 'note_python27_sc' %} +Run @pip install arvados-python-client@ in an appropriate installation environment, such as a @virtualenv@. -On Debian-based systems: +The SDK uses @pycurl@ which depends on the @libcurl@ C library. To build the module you may have to install additional packages. On Debian 9 this is: - -
~$ sudo apt-get install python-arvados-python-client
-
-
+
+$ apt-get install git build-essential python3-dev libcurl4-openssl-dev libssl1.0-dev
+
+ +If your version of @pip@ is 1.4 or newer, the @pip install@ command might give an error: "Could not find a version that satisfies the requirement arvados-python-client". If this happens, try @pip install --pre arvados-python-client@. + +h3. Option 2: Install from a distribution package + +This installation method is recommended to make the CLI tools available system-wide. It can coexist with the installation method described in option 1, above. + +First, "add the appropriate package repository for your distribution":{{ site.baseurl }}/install/install-manual-prerequisites.html#repos. On Red Hat-based systems: -
~$ sudo yum install python27-python-arvados-python-client
+
~$ sudo yum install python-arvados-python-client
 
-h4. Option 2: Install with pip +On Debian-based systems: -Run @pip-2.7 install arvados-python-client@ in an appropriate installation environment, such as a virtualenv. + +
~$ sudo apt-get install python-arvados-python-client
+
+
-If your version of @pip@ is 1.4 or newer, the @pip install@ command might give an error: "Could not find a version that satisfies the requirement arvados-python-client". If this happens, try @pip-2.7 install --pre arvados-python-client@. +h3. Test installation -h4. Option 3: Install from source +If the SDK is installed and your @ARVADOS_API_HOST@ and @ARVADOS_API_TOKEN@ environment variables are set up correctly (see "api-tokens":{{site.baseurl}}/user/reference/api-tokens.html for details), @import arvados@ should produce no errors. -Install the @python-setuptools@ package from your distribution. Then run the following: +If you installed with pip (option 1, above): -
~$ git clone https://github.com/curoverse/arvados.git
-~$ cd arvados/sdk/python
-~$ python2.7 setup.py install
-
+
~$ python
+Python 2.7.4 (default, Sep 26 2013, 03:20:26)
+[GCC 4.7.3] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+>>> import arvados
+>>> arvados.api('v1')
+<apiclient.discovery.Resource object at 0x233bb50>
+
-You may optionally run the final installation command in a virtualenv, or with the @--user@ option. +If you installed from a distribution package (option 2): the package includes a virtualenv, which means the correct Python environment needs to be loaded before the Arvados SDK can be imported. This can be done by activating the virtualenv first: -h4. Test installation + +
~$ source /usr/share/python2.7/dist/python-arvados-python-client/bin/activate
+(python-arvados-python-client) ~$ python
+Python 2.7.4 (default, Sep 26 2013, 03:20:26)
+[GCC 4.7.3] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+>>> import arvados
+>>> arvados.api('v1')
+<apiclient.discovery.Resource object at 0x233bb50>
+
+
-If the SDK is installed and your @ARVADOS_API_HOST@ and @ARVADOS_API_TOKEN@ environment variables are set up correctly (see "api-tokens":{{site.baseurl}}/user/reference/api-tokens.html for details), @import arvados@ should produce no errors: +Or alternatively, by using the Python executable from the virtualenv directly: -
~$ python2.7
+
~$ /usr/share/python2.7/dist/python-arvados-python-client/bin/python
 Python 2.7.4 (default, Sep 26 2013, 03:20:26)
 [GCC 4.7.3] on linux2
 Type "help", "copyright", "credits" or "license" for more information.