我试图在OSXMountainLion中安装带有pip的pyopencv,但由于导入设置工具而失败。以下是我的工作。setuptools中的“库”是什么?我以前没见过。我已经通过自制程序和其他东西安装了opencv。在pyopencv的doucmentation中,它没有解释使用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),但我不知道它为什么不能识别。在
我的setuptools的版本是1.1.6
^{pr2}$
您可以打印
python
以运行python解释器,然后在python内部打印以下内容:在输出中查找类似于
/Library/Python/2.7/site-packages
的行。 打印exit()
以退出python解释器。在在命令行中发出命令:
cd /Library/Python/2.7/site-packages
,并用ls
命令列出文件。查找文件'简历'和'cv2.so'。他们应该在那里。然后参考~/.bash_profile
文件发出命令cat ~/.bash_profile
,找到你的PYTHONPATH
:应该有一行类似于export PYTHONPATH=/usr/local/lib/python2.7/site-packages
。发出命令cd /usr/local/lib/python2.7/site-packages
跳转到该文件夹。在现在可以为cv2.so和简历发出命令:
sudo ln -s /usr/local/lib/python2.7/site-packages/cv.py /Library/Python/2.7/site-packages/cv.py
和sudo ln -s /usr/local/lib/python2.7/site-packages/cv2.so /Library/Python/2.7/site-packages/cv2.so
。在改变
到
^{pr2}$在最新版本的setuptools中,
Library
位于extension.py
内部。pyopencv应该将Library
导入为setuptools.extension.Library
,而不是setuptools.Library
。在相关问题 更多 >
编程相关推荐