在Mac OS X上使用pip安装pyopencv

在Mac OS X上使用pip安装pyopencv

问题描述:

我试图在OS X Mountain Lion中使用pip安装pyopencv,但导入setuptools失败.以下是我的工作. setuptools中的库"是什么?我以前没看过.我已经通过自制软件和其他东西安装了opencv.在pyopencv的说明中,没有说明仅使用pip源安装进行安装,

I am trying to install pyopencv with pip in OS X Mountain Lion and it fails by import setuptools. Following is my work. what is "Library" in setuptools? I have not seen that before. I already installed opencv via homebrew and other things. In doucmentation of pyopencv, it doesn't explain installation with pip only source install,

(img2)appleparan@LiamMac src $ brew install cmake
Warning: cmake-2.8.11.2 already installed
(img2)appleparan@LiamMac src $ brew install cmake --upgrade
Warning: cmake-2.8.11.2 already installed
(img2)appleparan@LiamMac src $ brew install opencv
Warning: opencv-2.4.6.1 already installed
(img2)appleparan@LiamMac src $ brew install boost
Warning: boost-1.54.0 already installed
(img2)appleparan@LiamMac src $ pip install pyopencv
Downloading/unpacking pyopencv
  Could not find a version that satisfies the requirement pyopencv (from versions: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1.0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0, 2.1.0.wr1.2.0-demo, 2.1.0.wr1.2.0)
Cleaning up...
No distributions matching the version for pyopencv
Storing complete log in /Users/appleparan/.pip/pip.log
(img2)appleparan@LiamMac src $ pip install pyopencv==2.1.0.wr1.2.0
Downloading/unpacking pyopencv==2.1.0.wr1.2.0
  Downloading pyopencv-2.1.0.wr1.2.0.tar.gz (363kB): 363kB downloaded
  Running setup.py egg_info for package pyopencv
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/Users/appleparan/.virtualenvs/img2/build/pyopencv/setup.py", line 92, in <module>
        from setuptools import setup, find_packages, Extension, Library
    ImportError: cannot import name Library
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/Users/appleparan/.virtualenvs/img2/build/pyopencv/setup.py", line 92, in <module>

    from setuptools import setup, find_packages, Extension, Library

ImportError: cannot import name Library

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /Users/appleparan/.virtualenvs/img2/build/pyopencv
Storing complete log in /Users/appleparan/.pip/pip.log
(img2)appleparan@LiamMac src $ python --version
Python 2.7.5
(img2)appleparan@LiamMac src $ pip freeze
Pillow==2.1.0
distribute==0.7.3
matplotlib==1.3.0
nose==1.3.0
numpy==1.7.1
pyparsing==2.0.1
python-dateutil==2.1
scipy==0.12.0
six==1.4.1
stevedore==0.12
tornado==3.1.1
virtualenv==1.10.1
virtualenv-clone==0.2.4
virtualenvwrapper==4.1.1
wsgiref==0.1.2
(img2)appleparan@LiamMac src $

我发现setuptools源具有库和扩展名( https://bitbucket.org/pypa/setuptools/src/27df3c725f9696ba730456f3f444cc2fb5271d4b/setuptools/extension.py?at=default )但我不知道为什么它无法识别.

I found setuptools source has Library and Extension (https://bitbucket.org/pypa/setuptools/src/27df3c725f9696ba730456f3f444cc2fb5271d4b/setuptools/extension.py?at=default) But I don't know why it doesn't recognize.

我的setuptools版本是1.1.6

My setuptools' verison is 1.1.6

(img2)appleparan@LiamMac src $ pip install setuptools --upgrade
Requirement already up-to-date: setuptools in /Users/appleparan/.virtualenvs/img2/lib/python2.7/site-packages/setuptools-1.1.6-py2.7.egg
Cleaning up...
(img2)appleparan@LiamMac src $

在最新版本的setuptools中,Libraryextension.py内部. pyopencv应该将Library导入为setuptools.extension.Library而不是setuptools.Library.

In recent version of setuptools, Library is inside of extension.py. pyopencv should import Library as setuptools.extension.Library not setuptools.Library.