Python-在Mac上安装opencv时遇到麻烦(几个月前opencv运行正常)

ecjb

我已经opencv在几个月前可以正常工作的Mac上安装了,但现在不再工作了。

我有以下特点。-OpenCV:3.4.3.1-操作系统/平台:macOS 10.14-Python 3.6.5

我试图重新加载python script使用opencv的位置。但是,我收到以下错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/anaconda3/lib/python3.6/site-packages/cv2.so, 2): Library not loaded: /usr/local/opt/ilmbase/lib/libImath-2_2.12.dylib
  Referenced from: /usr/local/Cellar/opencv/3.4.1_4/lib/libopencv_imgcodecs.3.4.dylib
  Reason: image not found

然后,我尝试使用此站点的逐步说明重新安装opencv ,这是我首次成功安装opencv的步骤

  1. 确定我的机器上有哪个版本的opencv

写完之后cd /usr/local/Cellar/opencvls我得到:3.4.1_4 3.4.3 3.4.3_1所以我得出结论,我机器上的最新版本3.4.3_1/usr/local/Cellar/opencv/3.4.3_1/cv2.cpython-37m-darwin.so

  1. 确定python中包的路径

然后,如果我这样做$ cd /usr/local/Cellar/opencv/3.4.3_1,并$ cd lib,我得到(其中包括): python3.7然后,我做到以下几点:$ cd python3.7然后$ cd site-packages$ pwd我得到:/usr/local/Cellar/opencv/3.4.3_1/lib/python3.7/site-packages

  1. 将cv2..so添加到系统python

我输入然后用python$ python3获取

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

问题N°1说版本3.6.5和opencv似乎有一个lib是不是很奇怪3.7(不是3.6

键入>>> import sys,然后>>> print(sys.path)得到以下列表:

['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip',
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']

然后输入:

$ ln -s /usr/local/Cellar/opencv/3.4.3_1/lib/python3.7/site-packages/cv2.cpython-37m-darwin.so /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cv2.so

  1. 将OpenCV添加到Virtualenvs

然后添加以下命令:

$ mkdir ~/Dev
$ cd ~/Dev
$ virtualenv -p python3 newcvtest
$ cd newcvtest
$ source bin/activate
(newcvtest) $ python --version 
Python 3.6.5
$ pip install numpy
$ cd lib/python3.6/site-packages
$ ln -s /usr/local/Cellar/opencv/3.4.3_1/lib/python3.7/site-packages/cv2.cpython-37m-darwin.so

之后,应完成安装。但是我仍然收到相同的错误消息

我该怎么办?

ecjb

实际opencv已成功安装。

事实上,我不得不改变Path.json的jupyter内核文件。首先,我检查了jupyter内核列表:

$ jupyter kernelspec list
julia-0.6    /Users/mymac/Library/Jupyter/kernels/julia-0.6
julia-1.0    /Users/mymac/Library/Jupyter/kernels/julia-1.0
python3      /Users/mymac/Library/Jupyter/kernels/python3

然后cd在上面的python路径中找到了文件kernel.json并打开了它:

{
 "argv": [
  "/path/to/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3",
 "language": "python"
}

在该文件中,然后/path/to/python通过在终端中键入以下命令时得到的python路径更改行

$ which python
/Users/mymac/anaconda3/bin/python

重新启动Atom,终于成功了!

jupytergithub页面的提示很有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章