【问题标题】:Installing OpenCV/python on Amazon Linux (apache)?在 Amazon Linux (apache) 上安装 OpenCV/python?
【发布时间】:2016-12-11 00:45:32
【问题描述】:

我正在尝试在我在运行 apache 的 Amazon EC2 Micro 实例上创建的 Python Web 应用程序上使用 OpenCV。

除了没有安装 OpenCV 之外,我已经完成了所有配置和工作。这是我从 Apache 错误日志中得到的输出。

[Thu Aug 04 18:31:54 2016] [error] [client 72.219.147.5]     import cv2
[Thu Aug 04 18:31:54 2016] [error] [client 72.219.147.5] ImportError: No module named cv2

这是我尝试过的:

我已经安装了 pip 并尝试运行 pip install pyopencv

这不起作用并给我错误。

我也尝试过手动安装它:How to install OpenCV on Amazon Linux?

还有这个:http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_setup/py_setup_in_fedora/py_setup_in_fedora.html?highlight=download#installing-opencv-python-from-pre-built-binaries

还有这个:http://techieroop.com/install-opencv-in-centos/

即使在安装后,也找不到 cv2.so 文件。我尝试使用sudo find / -name "cv2.so" 搜索它,但没有任何结果。

不过,我确实安装了以下 .so 文件:

/usr/local/lib/libopencv_photo.so
/usr/local/lib/libopencv_stitching.so
/usr/local/lib/libopencv_flann.so
/usr/local/lib/libopencv_imgcodecs.so
/usr/local/lib/libopencv_videostab.so
/usr/local/lib/libopencv_ml.so
/usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_imgproc.so
/usr/local/lib/libopencv_superres.so
/usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_shape.so
/usr/local/lib/libopencv_videoio.so
/usr/local/lib/libopencv_calib3d.so

另外,当运行 cmake 命令时,这是我得到的输出:

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.10)
--     Libraries:                   NO
--     numpy:                       NO (Python wrappers can not be generated)
--     packages path:               lib/python2.7/dist-packages

感谢任何帮助。

【问题讨论】:

  • 您是否将 cv2.so 复制到了您的 python 发行版下的站点包(例如 /usr/local/lib/python2.7/site-packages)?
  • @bblincoe cv2.so 文件在哪里?在我的 /usr/local/lib/python2.6/ 中,我没有任何 cv2.so 文件,但我有 pip 文件。在我的 /usr/local/lib/python2.7/ 我只有一个自述文件
  • 另一个很好的资源是pyimagesearch.com/2015/10/26/…(专门针对 Raspberry Pi,但仍然是 Linux 环境)

标签: python apache opencv amazon-web-services amazon-ec2


【解决方案1】:

经过测试并正在使用amzn-ami-hvm-2016.03.1.x86_64-gp2

sudo yum install git cmake gcc-c++ numpy python-devel 
sudo pip install --upgrade pip
sudo ln -rs /usr/local/bin/pip /usr/bin/
wget https://pypi.python.org/packages/18/eb/707897ab7c8ad15d0f3c53e971ed8dfb64897ece8d19c64c388f44895572/numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl
sudo pip install numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl 
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.1.0
mkdir build
cd build
cmake .. -DBUILD_opencv_python2=ON
make -j4
sudo make install
echo 'export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/dist-packages/'>>~/.bashrc;. ~/.bashrc
python -c 'import cv2; print "cv2 imported"'

最重要的是在 cmake 步骤之后。你应该在输出中看到这个。

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.10)
--     Libraries:                   /usr/lib64/libpython2.7.so (ver 2.7.10)
--     numpy:                       /usr/local/lib64/python2.7/site-packages/numpy/core/include (ver 1.11.1)
--     packages path:               lib/python2.7/dist-packages

现在如果它没有显示出来,你需要完全删除构建文件夹并在正确安装 numpy 后再次重新运行 cmake,只是在你已经存在的构建文件夹中重新运行 cmake 将不起作用。

【讨论】:

  • 我运行了cmake 命令,发现numpy 没有正确安装。所以我做了sudo yum uninstall numpy。然后我尝试安装numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl,但我得到了numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl is not a supported wheel on this platform
  • 我还用运行cmake时得到的输出更新了我的问题@
  • hmm..试试这里列出的 whl pypi.python.org/pypi/numpy。 linux 有 4 个。
  • 这四个都不起作用。我不断收到此错误:numpy-1.11.1-cp27-cp27mu-manylinux1_i686.whl is not a supported wheel on this platform.
  • 这很奇怪。你的实例的 ami id 是什么?
【解决方案2】:

首先用更新版本的python为python创建一个虚拟环境,因为上面默认安装了python2.7。从以下链接获取帮助:-

https://aws.amazon.com/premiumsupport/knowledge-center/python-boto3-virtualenv/

然后 cd 进入 venv 文件夹并执行命令:-

$ pip install opencv-python

现在通过激活虚拟环境来运行任何包含 opencv 的脚本。

$ source /home/ec2-user/venv/python34/bin/activate

完成!!!

【讨论】:

    【解决方案3】:

    我尝试了下面的命令并且成功了:

    cmake -D PYTHON2_LIBRARIES=/home/ubuntu/anaconda2/lib/libpython2.7.so.1.0 \
    -D PYTHON2_INCLUDE_DIR=/home/ubuntu/anaconda2/include/python2.7/ \
    -D PYTHON2_EXECUTABLE=/home/ubuntu/anaconda2/bin/python \
    -D HAVE_opencv_python2=ON ..
    

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 2014-12-30
      • 2017-04-02
      • 2014-09-19
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多