9945: More changes based on review comments.
authorWard Vandewege <wvandewege@veritasgenetics.com>
Wed, 30 Jan 2019 21:14:52 +0000 (16:14 -0500)
committerWard Vandewege <wvandewege@veritasgenetics.com>
Wed, 30 Jan 2019 21:14:52 +0000 (16:14 -0500)
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <wvandewege@veritasgenetics.com>

doc/admin/upgrading.html.textile.liquid
doc/sdk/python/sdk-python.html.textile.liquid

index ea63997c7ee3895afa3e32a5423aee1da5769cb6..74e0357537eb135911797ec95e3a8cf77e4e2033 100644 (file)
@@ -34,9 +34,27 @@ h3. current master branch
 
 h4. Python packaging change
 
-As part of story "#9945":https://dev.arvados.org/issues/9945, the distribution packaging (deb/rpm) of our Python packages has changed. These packages now include a built-in virtualenv, which means fewer dependencies on system packages. We have also stopped packaging and publishing backports for all the Python dependencies of our packages, as they are no longer needed.
+As part of story "#9945":https://dev.arvados.org/issues/9945, the distribution packaging (deb/rpm) of our Python packages has changed. These packages now include a built-in virtualenv to reduce dependencies on system packages. We have also stopped packaging and publishing backports for all the Python dependencies of our packages, as they are no longer needed.
 
-One practical consequence of this change is that the use of the Arvados Python SDK (aka "import arvados"), if the SDK was installed from distribution packages, now requires the loading of the virtualenv environment from our packages. The "Install documentation for the Arvados Python SDK":https:doc.arvados.org/sdk/python/sdk-python.html reflects this change. This does not affect the use of our command line tools.
+One practical consequence of this change is that the use of the Arvados Python SDK (aka "import arvados") will require a tweak if the SDK was installed from a distribution package. It now requires the loading of the virtualenv environment from our packages. The "Install documentation for the Arvados Python SDK":/sdk/python/sdk-python.html reflects this change. This does not affect the use of the command line tools (e.g. arv-get, etc.).
+
+Python scripts that rely on the distribution Arvados Python SDK packages to import the Arvados SDK will need to be tweaked to load the correct Python environment.
+
+This can be done by activating the virtualenv outside of the script:
+
+<notextile>
+<pre>~$ <code class="userinput">source /usr/share/python2.7/dist/python-arvados-python-client/bin/activate</code>
+(python-arvados-python-client) ~$ <code class="userinput">path-to-the-python-script</code>
+</pre>
+</notextile>
+
+Or alternatively, by updating the shebang line at the start of the script to:
+
+<notextile>
+<pre>
+#!/usr/share/python2.7/dist/python-arvados-python-client/bin/python
+</pre>
+</notextile>
 
 h3. v1.2.1 (2018-11-26)
 
index 81aa20e3b762cf35913c4f92c4eb554eff4acae9..be824399a4c94def5b64af218fa0b93d154d739b 100644 (file)
@@ -16,7 +16,7 @@ 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.
@@ -24,24 +24,15 @@ The Python SDK requires Python 2.7.
 
 h3. Option 1: Install with pip
 
+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).
+
 Run @pip-2.7 install arvados-python-client@ in an appropriate installation environment, such as a virtualenv.
 
 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. Option 2: Install from source
-
-Install the @python-setuptools@ package from your distribution.  Then run the following:
+h3. Option 2: Install from a distribution package
 
-<notextile>
-<pre><code>~$ <span class="userinput">git clone https://github.com/curoverse/arvados.git</span>
-~$ <span class="userinput">cd arvados/sdk/python</span>
-~/arvados/sdk/python$ <span class="userinput">python2.7 setup.py install</span>
-</code></pre>
-</notextile>
-
-You may optionally run the final installation command in a virtualenv, or with the @--user@ option.
-
-h3. Option 3: Install from distribution packages
+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.
 
@@ -63,7 +54,7 @@ h3. Test installation
 
 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.
 
-If you installed with pip or from source (option 1 or 2 above):
+If you installed with pip (option 1, above):
 
 <notextile>
 <pre>~$ <code class="userinput">python</code>
@@ -76,7 +67,21 @@ Type "help", "copyright", "credits" or "license" for more information.
 </pre>
 </notextile>
 
-If you installed from distribution packages (option 3): the packages include a virtualenv, which means the correct python environment needs to be loaded to import the Arvados SDK:
+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:
+
+<notextile>
+<pre>~$ <code class="userinput">source /usr/share/python2.7/dist/python-arvados-python-client/bin/activate</code>
+(python-arvados-python-client) ~$ <code class="userinput">python</code>
+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.
+>>> <code class="userinput">import arvados</code>
+>>> <code class="userinput">arvados.api('v1')</code>
+&lt;apiclient.discovery.Resource object at 0x233bb50&gt;
+</pre>
+</notextile>
+
+Or alternatively, by using the Python executable from the virtualenv directly:
 
 <notextile>
 <pre>~$ <code class="userinput">/usr/share/python2.7/dist/python-arvados-python-client/bin/python</code>