jhamman
jhamman

Reputation: 6434

Conda/Python: Import Error - image not found in jupyter notebook only

I'm getting an import failure of scipy.io in a jupyter notebook. The confusing part is that I'm not getting the same, or any, error in an iPython terminal but I am in a standard Python terminal. This leads me to think that somehow, my jupyter session is using a different linking path than my other sessions but I haven't been able to figure out how to approach/debug/fix that.

My questions:

  1. Has anyone else ran into this or something similar?
  2. Shouldn't jupyter be using the same library path in the terminal and notebook sessions?
  3. I've included my path settings from conda info below. Does anything jump out at anyone regarding how/why this is happening?

In an IPython terminal

$ ipython
Python 3.5.2 |Anaconda custom (x86_64)| (default, Jul  2 2016, 17:52:12) 
Type "copyright", "credits" or "license" for more information.

IPython 4.2.0 -- An enhanced Interactive Python.
?         -> 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 sys

In [2]: print(sys.executable)
/Users/jhamman/anaconda/bin/python

In [3]: import scipy.io

In [4]: 

In the Standard Python Interpreter

$ python
Python 3.5.2 |Anaconda custom (x86_64)| (default, Jul  2 2016, 17:52:12) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.executable)
/Users/jhamman/anaconda/bin/python
>>> import scipy.io
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/__init__.py", line 97, in <module>
    from .matlab import loadmat, savemat, whosmat, byteordercodes
  File "/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/matlab/__init__.py", line 13, in <module>
    from .mio import loadmat, savemat, whosmat
  File "/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/matlab/mio.py", line 12, in <module>
    from .miobase import get_matfile_version, docfiller
  File "/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/matlab/miobase.py", line 22, in <module>
    from scipy.misc import doccer
  File "/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/misc/__init__.py", line 51, in <module>
    from scipy.special import comb, factorial, factorial2, factorialk
  File "/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/special/__init__.py", line 636, in <module>
    from ._ufuncs import *
ImportError: dlopen(/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/special/_ufuncs.so, 2): Library not loaded: /usr/local/lib/libgcc_s.1.dylib
  Referenced from: /Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/special/_ufuncs.so
  Reason: image not found

In Jupyter Notebook

import sys
print(sys.executable)

/Users/jhamman/anaconda/bin/python
import scipy.io
ImportError                               Traceback (most recent call last)
<ipython-input-8-05f698096e44> in <module>()
----> 1 import scipy.io

/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/__init__.py in <module>()
     95 
     96 # matfile read and write
---> 97 from .matlab import loadmat, savemat, whosmat, byteordercodes
     98 
     99 # netCDF file support

/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/matlab/__init__.py in <module>()
     11 
     12 # Matlab file read and write utilities
---> 13 from .mio import loadmat, savemat, whosmat
     14 from . import byteordercodes
     15 

/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/matlab/mio.py in <module>()
     10 from scipy._lib.six import string_types
     11 
---> 12 from .miobase import get_matfile_version, docfiller
     13 from .mio4 import MatFile4Reader, MatFile4Writer
     14 from .mio5 import MatFile5Reader, MatFile5Writer

/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/io/matlab/miobase.py in <module>()
     20     byteord = ord
     21 
---> 22 from scipy.misc import doccer
     23 
     24 from . import byteordercodes as boc

/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/misc/__init__.py in <module>()
     49 from .common import *
     50 from numpy import who, source, info as _info
---> 51 from scipy.special import comb, factorial, factorial2, factorialk
     52 
     53 import sys

/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/special/__init__.py in <module>()
    634 from __future__ import division, print_function, absolute_import
    635 
--> 636 from ._ufuncs import *
    637 
    638 from .basic import *

ImportError: dlopen(/Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/special/_ufuncs.so, 2): Library not loaded: /usr/local/lib/libgcc_s.1.dylib
  Referenced from: /Users/jhamman/anaconda/lib/python3.5/site-packages/scipy/special/_ufuncs.so
  Reason: image not found

One last note, here's the dump from conda info:

$ conda info -a
Current conda install:

             platform : osx-64
        conda version : 4.1.11
    conda-env version : 2.5.2
  conda-build version : 1.21.3
       python version : 3.5.2.final.0
     requests version : 2.10.0
     root environment : /Users/jhamman/anaconda  (writable)
  default environment : /Users/jhamman/anaconda
     envs directories : /Users/jhamman/anaconda/envs
        package cache : /Users/jhamman/anaconda/pkgs
         channel URLs : https://repo.continuum.io/pkgs/free/osx-64/
                        https://repo.continuum.io/pkgs/free/noarch/
                        https://repo.continuum.io/pkgs/pro/osx-64/
                        https://repo.continuum.io/pkgs/pro/noarch/
          config file : None
         offline mode : False
    is foreign system : False

# conda environments:
#
root                  *  /Users/jhamman/anaconda

sys.version: 3.5.2 |Anaconda custom (x86_64)| (defaul...
sys.prefix: /Users/jhamman/anaconda
sys.executable: /Users/jhamman/anaconda/bin/python3
conda location: /Users/jhamman/anaconda/lib/python3.5/site-packages/conda
conda-build: /Users/jhamman/anaconda/bin/conda-build
conda-convert: /Users/jhamman/anaconda/bin/conda-convert
conda-develop: /Users/jhamman/anaconda/bin/conda-develop
conda-env: /Users/jhamman/anaconda/bin/conda-env
conda-index: /Users/jhamman/anaconda/bin/conda-index
conda-inspect: /Users/jhamman/anaconda/bin/conda-inspect
conda-metapackage: /Users/jhamman/anaconda/bin/conda-metapackage
conda-pipbuild: /Users/jhamman/anaconda/bin/conda-pipbuild
conda-render: /Users/jhamman/anaconda/bin/conda-render
conda-server: /Users/jhamman/anaconda/bin/conda-server
conda-sign: /Users/jhamman/anaconda/bin/conda-sign
conda-skeleton: /Users/jhamman/anaconda/bin/conda-skeleton
user site dirs: 

CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
DYLD_LIBRARY_PATH: <not set>
PATH: /Users/jhamman/anaconda/bin:/opt/local/bin:/opt/local/sbin
PYTHONHOME: <not set>
PYTHONPATH: <not set>

Upvotes: 4

Views: 2144

Answers (1)

Gordon Bean
Gordon Bean

Reputation: 4602

This appears to be a bug with the conda build:

https://github.com/ContinuumIO/anaconda-issues/issues/899

One commentor (@stuarteberg) on the issue stated:

The new latest scipy version (0.18.0) also has the same problem. In case it's somehow useful, the conda-forge package for scipy is not broken in this way.

@andykitchen found that downgrading scipy to 0.17.0 fixed the problem:

Yup can confirm I had this problem as well, the fix for me was to also to downgrade to 0.17.0

conda install --force scipy=0.17.0

Upvotes: 2

Related Questions