Skip to content

I/O registry generates error in python3 #2312

@mwcraig

Description

@mwcraig

As part of ccdproc we're adding a FITS reader/writer, following the instructions in the I/O registry documentation.

We register our reader/writer (and get autodetection of fits files) with:

registry.register_reader('fits', CCDData, fits_ccddata_reader)
registry.register_writer('fits', CCDData, fits_ccddata_writer)
registry.register_identifier('fits', CCDData, fits.connect.is_fits)

(excerpt is from https://github.com/mwcraig/ccdproc/blob/api-implementation-1/ccdproc/ccddata.py )

This works fine when I run python setup.py test in python 2.7.6. In python 3 (all of the versions and travis and 3.3.5 on my machine) running the tests gets me the long traceback at https://gist.github.com/mwcraig/10481015

The errors come up when the config file is being generated. Key lines seem to be:

  File "/Users/mcraig/anaconda/envs/py3k/lib/python3.3/site-packages/astropy-0.4.dev7991-py3.3-macosx-10.5-x86_64.egg/astropy/io/registry.py", line 43, in get_formats
    format_classes = sorted(set(_readers) | set(_writers))
TypeError: unorderable types: type() < type()

Additional information:

  • It is the lines registry_reader and registry_writer that generate the error. Commenting both out makes this error go away.
  • Changing the name of format from 'fits' to another string (e.g. 'fits2') makes the error go away.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions