【问题标题】:How to properly install Python on OSX for use with OpenCV?如何在 OSX 上正确安装 Python 以与 OpenCV 一起使用?
【发布时间】:2011-10-31 00:31:29
【问题描述】:

过去几天我试图让 opencv 与我的 Python 2.7 安装一起工作。每当我尝试“import cv”时,我一直收到一条错误消息,提示找不到 opencv 模块。

然后我决定尝试使用 Macports 安装 opencv,但没有成功。

接下来,我尝试了 Homebrew,但也没有用。

最后,我发现我应该这样修改 PYTHONPATH: export PYTHONPATH="/usr/local/lib/python2.6/site-packages/:$PYTHONPATH"

我的问题是我没有找到 /usr/local/lib/python2.*...etc 该文件夹根本不存在

所以我的问题是: 如何在 OS X Snow Leopard 上正确安装 Python 以使其与 opencv 一起使用?

非常感谢,

【问题讨论】:

    标签: python macos opencv homebrew


    【解决方案1】:

    您需要使用您的 python2.7 安装来安装模块。将 PYTHONPATH 指向安装在 2.6 下以在 2.7 下运行的东西是一个坏主意。

    根据您想要的安装方式,执行python2.7 setup.pyeasy_install-2.7 opencv 之类的操作来安装。

    fwiw,在 OS X 上,模块通常安装在 /System/Library/Frameworks/Python.framework/ 下,但您几乎不需要知道安装在站点包中的任何内容的物理位置;如果 Python 在没有帮助的情况下找不到它们,则说明你安装错误。

    【讨论】:

    • 我确实尝试将 2.6 更改为 2.7,但它不起作用,因为正如我所说,整个目录不存在。我从官方 Python 网站上提供的 .dmg 图像安装了 python。
    • 嗯,是的。它不会在 /usr/local/lib 中,因为它在 /System/Library/Frameworks/ 中,但不要尝试从系统 python 安装它的位置使用它;用你想要的python再次安装。
    • 在参考了这篇文章的评论后:stackoverflow.com/questions/5846745/opencv-python-osx 我试过这个: sudo port install python27 然后这个: sudo port select --set python python27 它没有返回任何错误,但现在我我被困在 py27-numpy 上。 Macports 返回此错误:无法打开端口:tar:打开存档时出错:无法打开“/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/python/py27-numpy”:没有这样的文件或目录有什么想法吗? (顺便说一句)
    • 你修改你的shell PATH 以包含/opt/local/bin 这是MacPorts 安装命令的地方吗?请参阅trac.macports.org/wiki/… 对于 numpy 问题,请确保清理端口并更新到最新版本:sudo port clean py27-numpy; sudo port selfupdate; sudo port install py27-numpy
    • 遵循上述指南后,opencv 现在可以工作了(即使没有 numpy)。正如你所说,我会最后一次尝试。谢谢!
    【解决方案2】:

    我自己为此花了几天时间。对我来说,问题是 OpenCV 安装程序没有找到正确的 python 安装。尽管我已经用自制软件升级了 python 并且使用了用于 python 的 virtualenv,但它默认为 MacOS 安装的版本。我在这里收集了我的大部分设置: https://gist.github.com/4150916

    使用自制软件获取所有依赖项,然后下载 OpenCV tarball 并自行编译,确保指定所有与 python 相关的配置选项。

    假设一个名为 'opencv' 的 virtualenv...

    cd OpenCV-2.4.3/
    mkdir release
    cd release
    cmake -D PYTHON_EXECUTABLE=$WORKON_HOME/opencv/bin/python \
     -D PYTHON_PACKAGES_PATH=$WORKON_HOME/opencv/lib/python2.7/site-packages \
     -D INSTALL_PYTHON_EXAMPLES=ON\
     -D PYTHON_INCLUDE_DIR=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Headers\
     -D PYTHON_LIBRARY=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib\
    ..
    make -j8
    make install
    

    【讨论】:

    • 我正在尝试使用 OpenCV-2.4.6 和 Python 2.7.4 并使用 cmake 得到此错误:CMake Error: The source directory "/Users/hdara/src/opencv-2.4.6/release/PYTHON_LIBRARY=/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib.." does not exist.
    • 好的,我找到了问题,只是.. 之前缺少一个空格。我添加了一些缺失的空格,但没有注意到这一点。配方似乎缺少空格。
    【解决方案3】:

    使用 Homebrew 安装 OpenCV

    brew tap homebrew/homebrew-science
    brew install opencv
    

    设置 Python

    取决于您的安装位置 - OS X 默认

    cd /Library/Python/2.7/site-packages/
    

    或 - 自制 Python

    cd /usr/local/lib/python2.7
    

    然后创建符号链接

    ln -s /usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages/cv.py cv.py
    ln -s /usr/local/Cellar/opencv/2.4.9/lib/python2.7/site-packages/cv2.so cv2.so
    

    以上方法来源于blog post

    【讨论】:

    • 仅在完美世界中。默认情况下,在 mac 上安装 opencv 非常活跃。
    • 按照指定的 brew 和 opencv 安装,我取得了很好的效果。您需要链接 python 位。
    【解决方案4】:

    我搜索并尝试使用 python3 安装 opencv3 3 天。一些链接建议 Brew 和一些虚拟环境,有人说安装 xcode 但在我的情况下都失败了。 不要使用 linux 步骤在 Mac 上安装 opencv-python。 Mac 的问题是 Mac 已经安装了 Python 2.7。除此之外,安装和链接所有站点包几乎没有问题,我们最终会出错。

    我将分享我所做的:在 Mac 上安装完整包 opencv3、numpy、matplotlib、notebook、spyder 等的简单步骤。

    1. 安装 anaconda,它会创建一个目录并在其中安装所有内容 使用此链接-> https://www.continuum.io/downloads 下载命令行安装

    2. 下载后,转到终端并下载 anaconda 的位置。 $ bash Anaconda3-4.3.0-MacOSX-x86_64.sh

    3. 安装程序会要求您将路径附加到 .bash_profile >> 说是

    4. 转到主目录,运行 .bash_profile $ source .bash_profile

    5. 检查python,应该指向 $哪个蟒蛇 $ /.../anaconda/bin/python

    6. 最后一步 $ pip install opencv-pyhton

    $蟒蛇

    $ 导入 cv2

    如果没有错误,我们就可以开始了。

    【讨论】:

      猜你喜欢
      • 2015-01-20
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多