3

I executed make pycaffe in the caffe directory and it worked fine. I also did this:

gsamaras@gsamaras-A15:~/caffe/python$ export PYTHONPATH=$PYTHONPATH:/home/gsamaras/caffe/python

but when I try to import caffe in another project, I get this:

ImportError: No module named caffe

How to fix this?

Also note that in the Makefile.config of caffe, there is this line:

PYTHON_INCLUDE := /usr/include/python2.7 \ <-- correct
/usr/lib/python2.7/dist-packages/numpy/core/include <-- doesn't exist

My numpy version is 1.11.


Relevant:

  1. Import caffe error
  2. Python interface of Caffe: Error in "import caffe"

Edit:

I found this, which suggests pip install -U scikit-image, but it fails with:

  Running setup.py (path:/tmp/pip_build_root/scikit-image/setup.py) egg_info for package scikit-image
    warning: no files found matching '*.pyx' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.pxd' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.h' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.pxd' under directory 'Cython/Utility'
...
Downloading/unpacking decorator>=3.4.0 (from networkx>=1.8->scikit-image)
  Downloading decorator-4.0.9-py2.py3-none-any.whl
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1091, in prepare_files
    req_to_install.check_if_exists()
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 811, in check_if_exists
    self.satisfied_by = pkg_resources.get_distribution(self.req)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 535, in get_distribution
    dist = get_provider(dist)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 415, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
IndexError: list index out of range

and now I am getting this error:

ImportError: No module named skimage.io

Community
  • 1
  • 1
gsamaras
  • 71,951
  • 46
  • 188
  • 305

3 Answers3

4

sudo apt-get install python-skimage worked for me.

gsamaras
  • 71,951
  • 46
  • 188
  • 305
Gaurav Gupta
  • 1,929
  • 4
  • 21
  • 40
1

I had to use sudo apt-get install -U scikit-image after all! The reason is: Didn't work with pip, but worked with apt-get?

Community
  • 1
  • 1
gsamaras
  • 71,951
  • 46
  • 188
  • 305
1

I encountered similar error in my caffe installation when I try to import skimage.io. However, when I tried to install the skimage via pip, it fails with the same message posted above.

Then I tried using apt-get to install scikit-image. It finished successfully. Unfortunately, it installed outdated version which cause another error in my code.

Finally, I have found a workaround by first installing virtualenv and fresh installing those libraries (scikit-image, scipy, matplotlib, etc) using pip. My caffe now worked flawlessly. Hope this helps other in the same situation.

mitbal
  • 326
  • 6
  • 14
  • Yeah I heard about `virtualenv` too, thanks mitbal! Thanks for upvoting my question, since you find it useful! – gsamaras Jun 28 '16 at 13:00