在OSX上安装opencv3并与笔记本一起使用

时间:2017-03-19 09:51:56

标签: python anaconda jupyter-notebook opencv3.0

我在OSX el Capitan上做数据科学。 为此,我使用anaconda和Python 2.7

我成功地使用了各种各样的环境,并且对anaconda感到非常高兴。

现在我想做一个新的env(称为tf for tensorflow)并安装opencv 3.1,我在几次试验后成功了。所以,如果我打开python,它会提示

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

然后我做

import cv2
print(cv2.__version__)

它用3.1.0提示我

到目前为止一切顺利。

我在我的环境中做的所有这一切

但现在我通过

打电话给笔记本
jupyter notebook

并打开一个新的笔记本,导入cv2,它不喜欢这个

ImportError: No module named cv2

我无法理解这一点,需要帮助!

当我

conda list

我得到所有包裹(见下面的部分粘贴)

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            

我在

时添加了系统输出的信息
conda info -a

我得到了

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:

1 个答案:

答案 0 :(得分:0)

使用Docker镜像可以在这种情况下发挥最佳效果,因为它封装了环境。您可以从here安装Docker。

拉动图像后,您可以在shell中使用这样的代码:

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

在容器内运行jupyter notebook

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

这会将本地目录安装到可以访问它的容器上。

然后,转到浏览器并点击https://localhost:8888,当我用Python 3.5打开新内核时。

您可以从here找到更多信息。

您还可以尝试使用datmo来轻松设置环境和跟踪机器学习项目,以使实验可重现。您可以按如下方式运行datmo task命令来设置jupyter notebook,

datmo任务运行&#39; jupyter notebook&#39; --port 8888

它会在环境中设置您的项目和文件,以跟踪您的进度。