diff --git a/buildout.cfg b/buildout.cfg
index 54ece317577b47e991c29e5a4d153e7eb957dc6f..2b98d21dd04a0a12e92989d169ea7b0a03461f11 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -24,20 +24,30 @@ django-activity-stream = >= 0.6.1
 recipe = syseggrecipe
 ;force-sysegg = true
 eggs = alabaster
+       appnope
        Babel
        colorlog
+       coverage
        cycler
-       Django
-       django_activity_stream
-       django_guardian
+       decorator
+       django
+       django-activity-stream
+       django-guardian
        djangorestframework
-       django_rest_swagger
-       django_jsonfield
+       django-rest-swagger
+       django-jsonfield
        docopt
        docutils
        funcsigs
        functools32
+       gevent
        graphviz
+       greenlet
+       gnureadline
+       ipdb
+       ipython
+       ipython-genutils
+       imagesize
        Jinja2
        jsonschema
        MarkupSafe
@@ -46,17 +56,22 @@ eggs = alabaster
        mock
        numpy
        oset
+       pathlib2
+       pexpect
        pbr
-       Pillow
+       pickleshare
        pip
        psutil
+       ptyprocess
        psycopg2
        Pygments
        pyparsing
-       python_dateutil
+       python-archive
+       python-dateutil
        pytz
        PyYAML
        pyzmq
+       simplegeneric
        simplejson
        six
        snowballstemmer
@@ -65,10 +80,9 @@ eggs = alabaster
        sphinxcontrib-httpdomain
        sphinxcontrib-mscgen
        sphinxcontrib-programoutput
-       sphinx-numfig
        sphinx-rtd-theme
-       subprocess32
        termcolor
+       traitlets
        uwsgi
        wsgiref
 
diff --git a/doc/admin/conf.py b/doc/admin/conf.py
index ee02b36fa00e3d7e8ab6e69e511bfb965e6145c6..5c7ed127081b74b207ad41d61e5ba866a0ac152a 100644
--- a/doc/admin/conf.py
+++ b/doc/admin/conf.py
@@ -46,7 +46,8 @@ extensions = [
     'sphinx.ext.autosummary',
     'sphinx.ext.doctest',
     'sphinx.ext.intersphinx',
-    'sphinx_numfig',
+    'sphinx.ext.napoleon',
+    'sphinx.ext.viewcode',
 ]
 
 # The viewcode extension appeared only on Sphinx >= 1.0.0
@@ -57,6 +58,9 @@ if sphinx.__version__ >= "1.0":
 # Always includes todos
 todo_include_todos = True
 
+# Create numbers on figures with captions
+numfig = True
+
 # If we are on OSX, the 'dvipng' path maybe different
 dvipng_osx = '/opt/local/libexec/texlive/binaries/dvipng'
 if os.path.exists(dvipng_osx): pngmath_dvipng = dvipng_osx
diff --git a/doc/api/conf.py b/doc/api/conf.py
index 80b081cef72efa8457c9281a852a204b5e2a6d32..7e21dad8522cd668c09b9050f664619dc1c8176d 100644
--- a/doc/api/conf.py
+++ b/doc/api/conf.py
@@ -64,7 +64,6 @@ extensions = [
     'sphinx.ext.napoleon',
     'sphinx.ext.viewcode',
 
-    'sphinx_numfig',
     'sphinxcontrib.ansi',
     'sphinxcontrib.programoutput',
     'sphinxcontrib.httpdomain',
@@ -74,6 +73,9 @@ extensions = [
 # Always includes todos
 todo_include_todos = True
 
+# Create numbers on figures with captions
+numfig = True
+
 # Generates auto-summary automatically
 autosummary_generate = True
 
diff --git a/doc/user/conf.py b/doc/user/conf.py
index c76e8c9f96a8fdcd239e85e2746608df732bfd0c..324bc71788f1e1d718dde0dab4a6bfd2b8c78017 100644
--- a/doc/user/conf.py
+++ b/doc/user/conf.py
@@ -60,6 +60,9 @@ extensions = [
 # Always includes todos
 todo_include_todos = True
 
+# Create numbers on figures with captions
+numfig = True
+
 # Generates auto-summary automatically
 autosummary_generate = True
 
diff --git a/setup.py b/setup.py
index aa3c93b33f0947395889810f42c47ffce3314a5e..c8c2b043b678d1234900cc8d4795f5149c824e26 100644
--- a/setup.py
+++ b/setup.py
@@ -70,6 +70,7 @@ setup(
         "sphinxcontrib-programoutput",
         "sphinxcontrib-ansi",
         "sphinxcontrib-httpdomain",
+        "sphinx-rtd-theme",
         "matplotlib",
     ],