astropy / imageutils

Image processing utilities for Astropy (No longer maintained)
https://imageutils.readthedocs.org/
9 stars 17 forks source link

__init__.py: error with import sampling.pyx if not _ASTROPY_SETUP #25

Closed stharrold closed 9 years ago

stharrold commented 9 years ago

Hi,

I'm having trouble importing imageutils with sampling.pyx included. I understand this issue will be moot once imageutils is incorporated into astropy. In the meantime, I can forego up/down sampling by omitting the sampling.pyx import. Could you recommend a fix to import sampling.pyx until imageutils is merged with astropy?

I've included my terminal output below if useful. Thanks for your time!

Terminal output

Environment, package versions, and installation:

$ date
Sun Sep 14 12:34:03 CDT 2014
$ conda update conda
Fetching package metadata: ..
# All requested packages already installed.
# packages in environment at /Users/harrold/anaconda:
#
conda                     3.6.4                    py27_0
$ conda update anaconda
Fetching package metadata: ..
# All requested packages already installed.
# packages in environment at /Users/harrold/anaconda:
#
anaconda                  2.0.1                np18py27_0
$ conda update astropy
Fetching package metadata: ..
# All requested packages already installed.
# packages in environment at /Users/harrold/anaconda:
#
astropy                   0.4.1                np19py27_0
$ git clone https://github.com/astropy/imageutils.git
Cloning into 'imageutils'...
remote: Counting objects: 226, done.
remote: Total 226 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (226/226), 68.79 KiB | 0 bytes/s, done.
Resolving deltas: 100% (116/116), done.
Checking connectivity... done
$ cd imageutils/
$ which python
/Users/harrold/anaconda/bin/python
$ python setup.py install
Initializing astropy_helpers submodule with: `git submodule update --init -- astropy_helpers`
Freezing version number to imageutils/version.py
running install
running bdist_egg
running egg_info
creating imageutils.egg-info
writing requirements to imageutils.egg-info/requires.txt
writing imageutils.egg-info/PKG-INFO
writing top-level names to imageutils.egg-info/top_level.txt
writing dependency_links to imageutils.egg-info/dependency_links.txt
writing manifest file 'imageutils.egg-info/SOURCES.txt'
reading manifest file 'imageutils.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '*.pyc'
warning: no previously-included files found matching '*.o'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'build'
writing manifest file 'imageutils.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.5-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.macosx-10.5-x86_64-2.7
creating build/lib.macosx-10.5-x86_64-2.7/imageutils
copying imageutils/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
copying imageutils/_astropy_init.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
copying imageutils/array_utils.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
copying imageutils/conftest.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
copying imageutils/scale_image.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
copying imageutils/version.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
creating build/lib.macosx-10.5-x86_64-2.7/imageutils/extern
copying imageutils/extern/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/extern
creating build/lib.macosx-10.5-x86_64-2.7/imageutils/scripts
copying imageutils/scripts/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/scripts
copying imageutils/scripts/fits2bitmap.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/scripts
creating build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
copying imageutils/tests/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
copying imageutils/tests/setup_package.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
copying imageutils/tests/test_array_utils.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
copying imageutils/tests/test_sampling.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
copying imageutils/tests/test_scale_image.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
creating build/lib.macosx-10.5-x86_64-2.7/imageutils/data
copying imageutils/data/README.rst -> build/lib.macosx-10.5-x86_64-2.7/imageutils/data
copying imageutils/tests/coveragerc -> build/lib.macosx-10.5-x86_64-2.7/imageutils/tests
running build_ext
cythoning imageutils/sampling.pyx to imageutils/sampling.c
building 'imageutils.sampling' extension
creating build/temp.macosx-10.5-x86_64-2.7
creating build/temp.macosx-10.5-x86_64-2.7/imageutils
clang -fno-strict-aliasing -I/Users/harrold/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include -I/Users/harrold/anaconda/include/python2.7 -c imageutils/sampling.c -o build/temp.macosx-10.5-x86_64-2.7/imageutils/sampling.o
In file included from imageutils/sampling.c:346:
In file included from /Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17:
In file included from /Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1804:
/Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "
      "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by " \
 ^
In file included from imageutils/sampling.c:346:
In file included from /Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:26:
/Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/__multiarray_api.h:1629:1: warning: unused function '_import_array' [-Wunused-function]
_import_array(void)
^
In file included from imageutils/sampling.c:347:
In file included from /Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/ufuncobject.h:317:
/Users/harrold/anaconda/lib/python2.7/site-packages/numpy/core/include/numpy/__ufunc_api.h:241:1: warning: unused function '_import_umath' [-Wunused-function]
_import_umath(void)
^
3 warnings generated.
clang -bundle -undefined dynamic_lookup -L/Users/harrold/anaconda/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.5-x86_64-2.7/imageutils/sampling.o -L/Users/harrold/anaconda/lib -o build/lib.macosx-10.5-x86_64-2.7/imageutils/sampling.so
copying imageutils/cython_version.py -> build/lib.macosx-10.5-x86_64-2.7/imageutils
creating build/bdist.macosx-10.5-x86_64
creating build/bdist.macosx-10.5-x86_64/egg
creating build/bdist.macosx-10.5-x86_64/egg/imageutils
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/__init__.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/_astropy_init.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/array_utils.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/conftest.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/cython_version.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
creating build/bdist.macosx-10.5-x86_64/egg/imageutils/data
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/data/README.rst -> build/bdist.macosx-10.5-x86_64/egg/imageutils/data
creating build/bdist.macosx-10.5-x86_64/egg/imageutils/extern
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/extern/__init__.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/extern
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/sampling.so -> build/bdist.macosx-10.5-x86_64/egg/imageutils
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/scale_image.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
creating build/bdist.macosx-10.5-x86_64/egg/imageutils/scripts
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/scripts/__init__.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/scripts
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/scripts/fits2bitmap.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/scripts
creating build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/tests/__init__.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/tests/coveragerc -> build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/tests/setup_package.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/tests/test_array_utils.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/tests/test_sampling.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/tests/test_scale_image.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils/tests
copying build/lib.macosx-10.5-x86_64-2.7/imageutils/version.py -> build/bdist.macosx-10.5-x86_64/egg/imageutils
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/__init__.py to __init__.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/_astropy_init.py to _astropy_init.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/array_utils.py to array_utils.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/conftest.py to conftest.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/cython_version.py to cython_version.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/extern/__init__.py to __init__.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/scale_image.py to scale_image.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/scripts/__init__.py to __init__.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/scripts/fits2bitmap.py to fits2bitmap.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/tests/__init__.py to __init__.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/tests/setup_package.py to setup_package.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/tests/test_array_utils.py to test_array_utils.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/tests/test_sampling.py to test_sampling.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/tests/test_scale_image.py to test_scale_image.pyc
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/version.py to version.pyc
creating stub loader for imageutils/sampling.so
byte-compiling build/bdist.macosx-10.5-x86_64/egg/imageutils/sampling.py to sampling.pyc
creating build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
installing scripts to build/bdist.macosx-10.5-x86_64/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/scripts-2.7
copying and adjusting scripts/fits2bitmap -> build/scripts-2.7
changing mode of build/scripts-2.7/fits2bitmap from 644 to 755
creating build/bdist.macosx-10.5-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/fits2bitmap -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO/scripts
changing mode of build/bdist.macosx-10.5-x86_64/egg/EGG-INFO/scripts/fits2bitmap to 755
copying imageutils.egg-info/PKG-INFO -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
copying imageutils.egg-info/SOURCES.txt -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
copying imageutils.egg-info/dependency_links.txt -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
copying imageutils.egg-info/not-zip-safe -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
copying imageutils.egg-info/requires.txt -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
copying imageutils.egg-info/top_level.txt -> build/bdist.macosx-10.5-x86_64/egg/EGG-INFO
writing build/bdist.macosx-10.5-x86_64/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/imageutils-0.0.dev41-py2.7-macosx-10.5-x86_64.egg' and adding 'build/bdist.macosx-10.5-x86_64/egg' to it
removing 'build/bdist.macosx-10.5-x86_64/egg' (and everything under it)
Processing imageutils-0.0.dev41-py2.7-macosx-10.5-x86_64.egg
removing '/Users/harrold/anaconda/lib/python2.7/site-packages/imageutils-0.0.dev41-py2.7-macosx-10.5-x86_64.egg' (and everything under it)
creating /Users/harrold/anaconda/lib/python2.7/site-packages/imageutils-0.0.dev41-py2.7-macosx-10.5-x86_64.egg
Extracting imageutils-0.0.dev41-py2.7-macosx-10.5-x86_64.egg to /Users/harrold/anaconda/lib/python2.7/site-packages
imageutils 0.0.dev41 is already the active version in easy-install.pth
Installing fits2bitmap script to /Users/harrold/anaconda/bin

Installed /Users/harrold/anaconda/lib/python2.7/site-packages/imageutils-0.0.dev41-py2.7-macosx-10.5-x86_64.egg
Processing dependencies for imageutils==0.0.dev41
Searching for astropy==0.4.1
Best match: astropy 0.4.1
Adding astropy 0.4.1 to easy-install.pth file

Using /Users/harrold/anaconda/lib/python2.7/site-packages
Finished processing dependencies for imageutils==0.0.dev41

Installed, but import error:

$ ipython
Python 2.7.8 |Anaconda 2.0.1 (x86_64)| (default, Aug 21 2014, 15:21:46) 
Type "copyright", "credits" or "license" for more information.

IPython 2.1.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import imageutils
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-6f5340d234f5> in <module>()
----> 1 import imageutils

/Users/harrold/Downloads/20140914_test_install/imageutils/imageutils/__init__.py in <module>()
     14     from .scale_image import *
     15     from .array_utils import *
---> 16     from .sampling import *
     17 
     18 __all__ = ['find_cutlevels', 'normalize_image', 'scale_image',

ImportError: No module named sampling

In [2]: exit()

Hack attempt:

$ emacs imageutils/__init__.py
$ cat imageutils/__init__.py
# Licensed under a 3-clause BSD style license - see LICENSE.rst
"""
Image processing utilities for Astropy.
"""

# Affiliated packages may add whatever they like to this file, but
# should keep this content at the top.
# ----------------------------------------------------------------------------
from ._astropy_init import *
# ----------------------------------------------------------------------------

# For egg_info test builds to pass, put package imports here.
if not _ASTROPY_SETUP_:
    from .scale_image import *
    from .array_utils import *
    import pyximport
    pyximport.install()
    from .sampling import *

__all__ = ['find_cutlevels', 'normalize_image', 'scale_image',
           'sigmaclip_stats', 'downsample', 'upsample', 'extract_array_2d',
           'add_array_2d', 'subpixel_indices', 'mask_to_mirrored_num']
$ ipython
Python 2.7.8 |Anaconda 2.0.1 (x86_64)| (default, Aug 21 2014, 15:21:46) 
Type "copyright", "credits" or "license" for more information.

IPython 2.1.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import imageutils
/Users/harrold/.pyxbld/temp.macosx-10.5-x86_64-2.7/pyrex/imageutils/sampling.c:346:10: fatal error: 'numpy/arrayobject.h' file not found
#include "numpy/arrayobject.h"
         ^
1 error generated.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-6f5340d234f5> in <module>()
----> 1 import imageutils

/Users/harrold/Downloads/20140914_test_install/imageutils/imageutils/__init__.py in <module>()
     16     import pyximport
     17     pyximport.install()
---> 18     from .sampling import *
     19 
     20 __all__ = ['find_cutlevels', 'normalize_image', 'scale_image',

/Users/harrold/anaconda/lib/python2.7/site-packages/pyximport/pyximport.pyc in load_module(self, fullname)
    429                                  self.pyxbuild_dir,
    430                                  build_inplace=self.inplace,
--> 431                                  language_level=self.language_level)
    432         return module
    433 

/Users/harrold/anaconda/lib/python2.7/site-packages/pyximport/pyximport.pyc in load_module(name, pyxfilename, pyxbuild_dir, is_package, build_inplace, language_level, so_path)
    207                 module_name = name
    208             so_path = build_module(module_name, pyxfilename, pyxbuild_dir,
--> 209                                    inplace=build_inplace, language_level=language_level)
    210         mod = imp.load_dynamic(name, so_path)
    211         if is_package and not hasattr(mod, '__path__'):

/Users/harrold/anaconda/lib/python2.7/site-packages/pyximport/pyximport.pyc in build_module(name, pyxfilename, pyxbuild_dir, inplace, language_level)
    184                                   setup_args=sargs,
    185                                   inplace=inplace,
--> 186                                   reload_support=pyxargs.reload_support)
    187     assert os.path.exists(so_path), "Cannot find: %s" % so_path
    188 

/Users/harrold/anaconda/lib/python2.7/site-packages/pyximport/pyxbuild.pyc in pyx_to_dll(filename, ext, force_rebuild, build_in_temp, pyxbuild_dir, setup_args, reload_support, inplace)
    102     try:
    103         obj_build_ext = dist.get_command_obj("build_ext")
--> 104         dist.run_commands()
    105         so_path = obj_build_ext.get_outputs()[0]
    106         if obj_build_ext.inplace:

/Users/harrold/anaconda/python.app/Contents/lib/python2.7/distutils/dist.pyc in run_commands(self)
    951         """
    952         for cmd in self.commands:
--> 953             self.run_command(cmd)
    954 
    955     # -- Methods that operate on its Commands --------------------------

/Users/harrold/anaconda/python.app/Contents/lib/python2.7/distutils/dist.pyc in run_command(self, command)
    970         cmd_obj = self.get_command_obj(command)
    971         cmd_obj.ensure_finalized()
--> 972         cmd_obj.run()
    973         self.have_run[command] = 1
    974 

/Users/harrold/anaconda/lib/python2.7/site-packages/Cython/Distutils/build_ext.pyc in run(self)
    161             optimization.disable_optimization()
    162 
--> 163         _build_ext.build_ext.run(self)
    164 
    165     def build_extensions(self):

/Users/harrold/anaconda/python.app/Contents/lib/python2.7/distutils/command/build_ext.pyc in run(self)
    335 
    336         # Now actually compile and link everything.
--> 337         self.build_extensions()
    338 
    339     def check_extensions_list(self, extensions):

/Users/harrold/anaconda/lib/python2.7/site-packages/Cython/Distutils/build_ext.pyc in build_extensions(self)
    169         for ext in self.extensions:
    170             ext.sources = self.cython_sources(ext.sources, ext)
--> 171             self.build_extension(ext)
    172 
    173     def cython_sources(self, sources, extension):

/Users/harrold/anaconda/python.app/Contents/lib/python2.7/distutils/command/build_ext.pyc in build_extension(self, ext)
    494                                          debug=self.debug,
    495                                          extra_postargs=extra_args,
--> 496                                          depends=ext.depends)
    497 
    498         # XXX -- this is a Vile HACK!

/Users/harrold/anaconda/python.app/Contents/lib/python2.7/distutils/ccompiler.pyc in compile(self, sources, output_dir, macros, include_dirs, debug, extra_preargs, extra_postargs, depends)
    572             except KeyError:
    573                 continue
--> 574             self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
    575 
    576         # Return *all* object filenames, not just the ones we just built.

/Users/harrold/anaconda/python.app/Contents/lib/python2.7/distutils/unixccompiler.pyc in _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts)
    120                        extra_postargs)
    121         except DistutilsExecError, msg:
--> 122             raise CompileError, msg
    123 
    124     def create_static_lib(self, objects, output_libname,

ImportError: Building module imageutils.sampling failed: ["CompileError: command '/usr/bin/clang' failed with exit status 1\n"]

In [2]: exit()

Workaround by omitting sampling.pyx:

$ emacs imageutils/__init__.py
$ cat imageutils/__init__.py
# Licensed under a 3-clause BSD style license - see LICENSE.rst
"""
Image processing utilities for Astropy.
"""

# Affiliated packages may add whatever they like to this file, but
# should keep this content at the top.
# ----------------------------------------------------------------------------
from ._astropy_init import *
# ----------------------------------------------------------------------------

# For egg_info test builds to pass, put package imports here.
if not _ASTROPY_SETUP_:
    from .scale_image import *
    from .array_utils import *
    #from .sampling import *

__all__ = ['find_cutlevels', 'normalize_image', 'scale_image',
           'sigmaclip_stats', 'downsample', 'upsample', 'extract_array_2d',
           'add_array_2d', 'subpixel_indices', 'mask_to_mirrored_num']
$ ipython
Python 2.7.8 |Anaconda 2.0.1 (x86_64)| (default, Aug 21 2014, 15:21:46) 
Type "copyright", "credits" or "license" for more information.

IPython 2.1.0 -- An enhanced Interactive Python.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import imageutils

In [2]: imageutils.
imageutils.add_array_2d          imageutils.extract_array_2d      imageutils.scale_image           imageutils.version
imageutils.array_utils           imageutils.find_cutlevels        imageutils.sigmaclip_stats       
imageutils.cython_version        imageutils.mask_to_mirrored_num  imageutils.subpixel_indices      
imageutils.egg-info/             imageutils.normalize_image       imageutils.test                  

In [2]: exit()
astrofrog commented 9 years ago

@stharrold - are you trying to import imageutils from the source directory? If so, that won't work properly as you found above - try importing it while in a completely different directory and see if that works.

stharrold commented 9 years ago

@astrofrog Beginner's mistake. Thanks so much for the fast response!