Repository: kivy/kivy

Issue:
Explicitly state the need to install docutils and pigments in the relevant modules
`RstDocument` assumes presence of `docutils` package.

However this is not deployed by default on Android when you add kivy package in requirements, resulting the following error. I guess it's a missing dependency somewhere:

```
02-26 17:11:00.978 16023 16038 I python  :  Traceback (most recent call last):
02-26 17:11:00.979 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/app/main.py", line 9, in <module>
02-26 17:11:00.979 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/app/webkivy/main.py", line 78, in run
02-26 17:11:00.979 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/app.py", line 802, in run
02-26 17:11:00.980 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/app/webkivy/main.py", line 137, in build
02-26 17:11:00.980 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/app/webkivy/main.py", line 125, in reset_landing_screen
02-26 17:11:00.981 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/relativelayout.py", line 255, in __init__
02-26 17:11:00.981 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/floatlayout.py", line 65, in __init__
02-26 17:11:00.982 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/layout.py", line 72, in __init__
02-26 17:11:00.982 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/widget.py", line 320, in __init__
02-26 17:11:00.982 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/lang.py", line 1970, in apply
02-26 17:11:00.983 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/lang.py", line 2085, in _apply_rule
02-26 17:11:00.983 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/lang.py", line 2085, in _apply_rule
02-26 17:11:00.984 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/lang.py", line 2044, in _apply_rule
02-26 17:11:00.984 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/factory.py", line 139, in __getattr__
02-26 17:11:00.985 16023 16038 I python  :    File "/home/kivy/android-remote-python/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/uix/rst.py", line 76, in <module>
02-26 17:11:00.985 16023 16038 I python  :  ImportError: No module named docutils.parsers
02-26 17:11:01.050 16023 16038 I python  : Python for android ended.
```



Discussion:
This is only the case if you use the rst widget, docutils is now installed by default on desktop (kivy master), but i would think it should not be added as a requirement for all android apks.
You can add the dependency to your requirements in buildozer.

We should document the dependency here:
https://kivy.org/docs/api-kivy.uix.rst.html

Actually it's already linked there, maybe we could be more explicit about the need for installing the dependency.

Same for pygments:
https://github.com/kivy/kivy/blob/c691091d1c3111e6625e92d1886ae80214b867aa/kivy/uix/codeinput.py#L15


Resolving patch:
diff --git a/kivy/uix/codeinput.py b/kivy/uix/codeinput.py
--- a/kivy/uix/codeinput.py
+++ b/kivy/uix/codeinput.py
@@ -6,6 +6,9 @@
 
 .. image:: images/codeinput.jpg
 
+.. note::
+
+    This widget requires ``pygments`` package to run. Install it with ``pip``.
 
 The :class:`CodeInput` provides a box of editable highlighted text like the one
 shown in the image.
diff --git a/kivy/uix/rst.py b/kivy/uix/rst.py
--- a/kivy/uix/rst.py
+++ b/kivy/uix/rst.py
@@ -8,6 +8,10 @@
 easy-to-read, what-you-see-is-what-you-get plaintext markup syntax and parser
 system.
 
+.. note::
+
+    This widget requires ``docutils`` package to run. Install it with ``pip``.
+
 .. warning::
 
     This widget is highly experimental. The whole styling and


Test patch: