Python中文
首页
教程
问答
标签
搜索
登录
注册
无法使用python3安装openCV 3.1.0。CMAKE未正确包含或链接python
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试在我的机器上安装OpenCV 3.1.0和Python3。因为我有Ubuntu16.04,所以我完全遵循这个指南:</p> <p><a href="http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/" rel="noreferrer">http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/</a></p> <p>但是,在运行cmake之后,我在步骤4中遇到了问题。我的cmake程序的输出包含以下代码片段:</p> <pre><code>-- OpenCL: -- Version: dynamic -- Include path: /home/kevin/opencv-3.1.0/3rdparty/include/opencl/1.2 -- Use AMDFFT: NO -- Use AMDBLAS: NO -- -- Python 2: -- Interpreter: /home/kevin/.virtualenvs/cv/bin/python (ver 3.5.2) -- -- Python 3: -- Interpreter: /home/kevin/.virtualenvs/cv/bin/python3 (ver 3.5.2) -- -- Python (for build): /home/kevin/.virtualenvs/cv/bin/python -- -- Java: -- ant: NO -- JNI: /usr/lib/jvm/java-8-oracle/include /usr/lib/jvm/java-8-oracle/include/linux /usr/lib/jvm/java-8-oracle/include -- Java wrappers: NO -- Java tests: NO </code></pre> <p>cmake文件似乎无法正确链接python部分(库、numpy、包路径)下缺少的属性。我试着编译opencv并安装它,当我加载python3并导入cv时,它说找不到cv包。</p> <p>我尝试修改CMAKE命令,因此没有使用指南建议的方法,而是添加了三个参数来强制CMAKE包含缺少的python属性(最后三个属性是我的修改):</p> <pre><code>cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \ -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \ -D BUILD_EXAMPLES=ON \ -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \ -D PYTHON_NUMPY_INCLUDE_DIR=~/.virtualenvs/cv/lib/python3.5/site-packages/numpy/core/include \ -D PYTHON_PACKAGES_PATH=~/.virtualenvs/cv/lib/python3.5/site-packes .. </code></pre> <p>不过,cmake的输出是相同的(它只列出了解释程序,没有其他python属性),当我尝试构建opencv并安装它时,python解释程序找不到opencv包。</p> <p>在我安装完opencv之后,我的/usr/local/lib/python3.5/文件也没有site packages目录。</p> <p>有人能指点我正确的方向吗?在过去的几个小时里,我一直在寻找如何解决这个问题的方法,但是到目前为止还没有找到解决方法,所以我非常感谢任何指导。谢谢您!</p> <p><strong>更新</strong></p> <p>我意识到必须在cmake命令中添加-D BUILD_opencv_python3=yes,这样opencv才能查找python库。不过,这是我从cmake获得的新输出:</p> <pre><code>-- Python 3: -- Interpreter: /home/kevin/.virtualenvs/cv/bin/python (ver 3.5.2) -- Libraries: NO -- numpy: NO (Python3 wrappers can not be generated) -- packages path: lib/python3.5/site-packages </code></pre> <p>知道为什么cmake没有正确地找到python 3库吗(即使我在cmake选项中添加了“-D python_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so”?</p> <p><strong>更新</strong></p> <p>我通过删除整个/build目录并在一个新目录上运行cmake解决了这个问题。我认为错误继续出现是因为cmake做了一些缓存,但是添加flag-D BUILD_opencv_python3=yes似乎对我有帮助。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我通过删除整个/build目录并再次运行cmake(使用-D build_opencv_python3=yes)解决了我的问题。我认为它给出了一个错误,因为cmake的某种缓存,所以当我删除所有内容并重新开始时,错误就消失了。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在PyObj中使用respondsToSelector和performSelector
6 回答
如何在pyobj中停止线程
7 回答
如何在pyobj中生成线程
4 回答
如何在pyodbc中为记录集指定游标类型?
1 回答
如何在pyodbc中从用户处获取表名,同时避免SQL注入?
9 回答
如何在pyodbc中使用executemany运行多个SELECT查询
10 回答
如何在pyodbc中同时在n个游标上并行运行n个进程?
7 回答
如何在pyodbc中控制连接池的大小?
1 回答
如何在pyodbc中自动调用fetchall()而不进行异常处理?
3 回答
如何在pyODBC查询中参数化日期戳?
9 回答
如何在pyodbc输出转换器函数中解压sqlserver DATETIME?
7 回答
如何在pyodb中安装所有驱动程序
2 回答
如何在pyodb嵌套循环中调用不同的查询
3 回答
如何在pyomo.environ公司modu装置
7 回答
如何在Pyomoconstraints中建模逻辑或量词
3 回答
如何在Pyomo中为约束使用数组
7 回答
如何在pyomo中使用集和范围集的多级索引?
7 回答
如何在PYOMO中分配伪二进制变量
1 回答
如何在Pyomo中创建OR约束?
1 回答
如何在Pyomo中动态地将变量添加到列表中?
4 回答