Documentation building reports an error in importing server
There's a warning if you try to build PyTango documentation with Sphinx 1.4.8, here's the traceback:
/home/tango/PycharmProjects/pytango/doc/server_api/server.rst:298: WARNING: autodoc: failed to import function 'server_run' from module 'tango.server'; the following exception was raised:
Traceback (most recent call last):
File "/home/tango/miniconda3/envs/pytango_workshop/lib/python3.5/site-packages/Sphinx-1.4.8-py3.5.egg/sphinx/ext/autodoc.py", line 519, in import_object
__import__(self.modname)
File "/home/tango/PycharmProjects/pytango/tango/server.py", line 1499, in <module>
"""})
File "/home/tango/PycharmProjects/pytango/tango/server.py", line 550, in __new__
_init_tango_device_klass(cls, dct)
File "/home/tango/PycharmProjects/pytango/tango/server.py", line 491, in _init_tango_device_klass
tango_device_klass, attrs=attrs)
File "/home/tango/PycharmProjects/pytango/tango/server.py", line 484, in __create_tango_deviceclass_klass
return type(devclass_name, (_DeviceClass,), devclass_attrs)
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Also, documentation can't be built with Sphinx >= 1.5, here's the error I get for 1.5.4:
Running Sphinx v1.5.4
Mocking tango._tango extension module
Building documentation for PyTango 9.2.2.dev0
Using PyTango from: /home/tango/PycharmProjects/pytango/tango
WARNING: sphinx.ext.pngmath has been deprecated. Please use sphinx.ext.imgmath instead.
loading pickled environment... not yet created
loading intersphinx inventory from http://api.mongodb.org/python/current/objects.inv...
intersphinx inventory has moved: http://api.mongodb.org/python/current/objects.inv -> http://api.mongodb.com/python/current/objects.inv
loading intersphinx inventory from http://docs.python.org/dev/objects.inv...
intersphinx inventory has moved: http://docs.python.org/dev/objects.inv -> https://docs.python.org/dev/objects.inv
loading intersphinx inventory from http://ipython.org/ipython-doc/stable/objects.inv...
loading intersphinx inventory from http://packages.python.org/CouchDB/objects.inv...
intersphinx inventory has moved: http://packages.python.org/CouchDB/objects.inv -> https://pythonhosted.org/CouchDB/objects.inv
loading intersphinx inventory from http://pycassa.github.com/pycassa/objects.inv...
intersphinx inventory has moved: http://pycassa.github.com/pycassa/objects.inv -> http://pycassa.github.io/pycassa/objects.inv
loading intersphinx inventory from http://docs.scipy.org/doc/scipy/reference/objects.inv...
intersphinx inventory has moved: http://docs.scipy.org/doc/scipy/reference/objects.inv -> https://docs.scipy.org/doc/scipy/reference/objects.inv
loading intersphinx inventory from http://docs.scipy.org/doc/numpy/objects.inv...
intersphinx inventory has moved: http://docs.scipy.org/doc/numpy/objects.inv -> https://docs.scipy.org/doc/numpy/objects.inv
loading intersphinx inventory from http://docs.sqlalchemy.org/en/latest/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 31 source files that are out of date
updating environment: 31 added, 0 changed, 0 removed
reading sources... [ 16%] client_api/group
Exception occurred:
File "/home/tango/miniconda3/envs/pytango_workshop/lib/python3.5/site-packages/Sphinx-1.5.4-py3.5.egg/sphinx/util/inspect.py", line 107, in isenumclass
return issubclass(x, enum.Enum)
TypeError: issubclass() arg 1 must be a class
The full traceback has been saved in /tmp/sphinx-err-b6y96sl4.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!