简体   繁体   中英

install opencv3 on OSX and use with notebook

I am on OSX el Capitan and doing Data Science. For this I am using anaconda with Python 2.7

I used various envs successfully and was very happy in general with anaconda.

Now I wanted to do a new env (called tf for tensorflow) and install opencv 3.1 which I succeeded after several trials. So, if I open python, it prompts with

Python 2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016,      23:05:08) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more  information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

and then I do

import cv2
print(cv2.__version__)

and it prompts me with 3.1.0

So far so good.

All this I do within my environment tf

But now I call a notebook by

jupyter notebook

and open a new notebook, import cv2, it does not like this

ImportError: No module named cv2

I cannot understand this and need help!

When I

conda list

I get all packages (see below partial paste)

jsonschema                2.5.1                    py27_0  
jupyter                   1.0.0                    py27_3  
jupyter_client            5.0.0                    py27_0  
jupyter_console           5.1.0                    py27_0  
jupyter_core              4.3.0                    py27_0  
libpng                    1.6.28                        0    conda-forge
libtiff                   4.0.6                         7    conda-forge
markupsafe                0.23                     py27_2  
mistune                   0.7.4                    py27_0  
mkl                       2017.0.1                      0  
nbconvert                 5.1.1                    py27_0  
nbformat                  4.3.0                    py27_0  
notebook                  4.4.1                    py27_0  
numpy                     1.12.0                   py27_0  
opencv                    3.1.0               np112py27_1    conda-forge
opencv3                   3.1.0                    py27_0    menpo
openssl                   1.0.2k            

I also add for info the output of the system when I do

conda info -a

I get

Current conda install:

               platform : osx-64
          conda version : 4.3.14
       conda is private : False
      conda-env version : 4.3.14
    conda-build version : not installed
         python version : 2.7.13.final.0
       requests version : 2.12.4
       root environment : /Users/peterhirt/anaconda  (writable)
    default environment : /Users/peterhirt/anaconda/envs/tf
       envs directories : /Users/peterhirt/anaconda/envs
                          /Users/peterhirt/.conda/envs
          package cache : /Users/peterhirt/anaconda/pkgs
                          /Users/peterhirt/.conda/pkgs
           channel URLs : https://repo.continuum.io/pkgs/free/osx-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/osx-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/osx-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : None
           offline mode : False
             user-agent : conda/4.3.14 requests/2.12.4 CPython/2.7.13 Darwin/15.6.0 OSX/10.11.6
                UID:GID : 501:20

# conda environments:
#
tf                    *  /Users/peterhirt/anaconda/envs/tf
root                     /Users/peterhirt/anaconda

sys.version: 2.7.13 |Anaconda 4.3.1 (x86_64)| (defaul...
sys.prefix: /Users/peterhirt/anaconda
sys.executable: /Users/peterhirt/anaconda/bin/python
conda location: /Users/peterhirt/anaconda/lib/python2.7/site-packages/conda
conda-build: None
conda-env: /Users/peterhirt/anaconda/bin/conda-env
conda-server: /Users/peterhirt/anaconda/bin/conda-server
user site dirs: ~/.local/lib/python2.7

CIO_TEST: <not set>
CONDA_DEFAULT_ENV: tf
CONDA_ENVS_PATH: <not set>
DYLD_LIBRARY_PATH: <not set>
PATH: /Users/peterhirt/anaconda/envs/tf/bin:/Users/peterhirt/anaconda/bin:/usr/local/bin:/Users/peterhirt/.npm-packages/bin:/Users/peterhirt/anaconda2/bin:/Users/peterhirt/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PYTHONHOME: <not set>
PYTHONPATH: <not set>

License directories:
    /Users/peterhirt/.continuum
    /Users/peterhirt/Library/Application Support/Anaconda
    /Users/peterhirt/anaconda/licenses
License files (license*.txt):
Package/feature end dates:

Using Docker images helps the best in such cases since it encapsulates the environment. You can install Docker from here .

After pulling the image, you can use code like this in the shell:

docker run --rm -it -p 8888:8888  -v d:/Kaggles:/d  datmo/kaggle:cpu

Run jupyter notebook inside the container

jupyter notebook --ip=0.0.0.0 --no-browser

This mounts the local directory onto the container having access to it.

Then, go to the browser and hit https://localhost:8888 , and when I open a new kernel it's with Python 3.5.

You can find more information from here .

You can also try using datmo in order to easily setup environment and track machine learning projects to make experiments reproducible. You can run datmo task command as follows for setting up jupyter notebook,

datmo task run 'jupyter notebook' --port 8888

It sets up your project and files inside the environment to keep track of your progress.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM