[AstroPy] docs building issue
Miguel de Val-Borro
miguel.deval at gmail.com
Wed Nov 20 21:09:05 EST 2013
On Wed, Nov 20, 2013 at 08:46:14PM -0500, Russell Hewett wrote:
> OK, I take that back. Changing '1.2b2' to '1.2' worked. I had forgotten
> that that particular conf file was burried in the package and I was not in
> develop mode, so live updates were meaningless. Had to reinstall for the
> change to take effect.
> That said, following Erik's advice, I did check, and the conf is indeed
> getting sphinx 1.2b2. (And we can thus conclude that conda uninstall works
Great that it works now. I just checked that sphinx is doing
this comparison to raise the version error:
self.config.needs_sphinx > sphinx.__version__[:3]
So needs_sphinx = '1.2b2' will always raise the version requirement
error but using the '1.2' string should produce the expected result if
you are using versions 1.2b2 or 1.2b3.
I have opened a pull request to fix this bug:
> On Wed, Nov 20, 2013 at 8:35 PM, Erik Tollerud <erik.tollerud at gmail.com>wrote:
> > To clarify why this is necessary: it turns out that sphinx used
> > something in the graphviz API that was either private or deprecated,
> > and it changed between graphviz 0.28 and 0.30. Sphinx fixed this in
> > version 1.2 beta something or other, but that means if you have Sphinx
> > 1.1.3 (the current release version) and a graphviz newer than 0.28,
> > any graphviz graphs (including the class inheritance diagrams) cause
> > sphinx to fail.
> > The really odd thing is that it says you *have* Sphinx v1.2b2. Is
> > there any chance you have two different sphinx versions installed on
> > top of each other? It's *possible* that would make it think it's
> > version 1.2, when the actual code getting called is 1.1.3 ... one way
> > to check this might be to edit astropy/astropy/sphinx/conf.py to add a
> > ``print sphinx.__version__`` directly under the `need_sphinx`
> > definitions. Then you'd know for sure which version it was actually
> > using there.
> > On Wed, Nov 20, 2013 at 7:24 PM, Miguel de Val-Borro
> > <miguel.deval at gmail.com> wrote:
> > > On Wed, Nov 20, 2013 at 06:20:19PM -0500, Russell Hewett wrote:
> > >> def get_graphviz_version():
> > >> try:
> > >> output = subprocess.check_output(
> > >> ['dot', '-V'], stdin=subprocess.PIPE,
> > >> stderr=subprocess.STDOUT,
> > >> shell=True)
> > >> except subprocess.CalledProcessError:
> > >> return '0'
> > >> tokens = output.split()
> > >> for token in tokens:
> > >> if re.match(b'[0-9.]*', token):
> > >> return token.decode('ascii')
> > >> return '0'
> > >>
> > >> graphviz_found = LooseVersion(get_graphviz_version())
> > >> graphviz_broken = LooseVersion('0.30')
> > >>
> > >> if graphviz_found >= graphviz_broken:
> > >> needs_sphinx = '1.2b2'
> > >> else:
> > >> needs_sphinx = '1.1'
> > >
> > > It looks like the version comparison in Sphinx is done with the
> > > major.minor numbers in the version string. Could you try to replace in
> > > that file:
> > >
> > > needs_sphinx = '1.2b2'
> > > by
> > > needs_sphinx = '1.2'
> > >
> > > I'm not sure that it will help but maybe the comparison is failing
> > > because of that.
> > > _______________________________________________
> > > AstroPy mailing list
> > > AstroPy at scipy.org
> > > http://mail.scipy.org/mailman/listinfo/astropy
> > --
> > Erik
> > _______________________________________________
> > AstroPy mailing list
> > AstroPy at scipy.org
> > http://mail.scipy.org/mailman/listinfo/astropy
> Russell J. Hewett
> Postdoctoral Associate
> Imaging and Computing Group
> Department of Mathematics
> Massachusetts Institute of Technology
> AstroPy mailing list
> AstroPy at scipy.org
More information about the AstroPy