在Mac上安装Python中的Opencv3错误

时间:2018-01-26 12:20:20

标签: python macos opencv

我正在尝试使用此链接(https://www.codingforentrepreneurs.com/blog/install-opencv-3-for-python-on-mac/

在Mac上安装Opencv 3 for Python

我使用的是python 3.6.4,目前我正处于第6步(关于链接)

我直接从Mac终端使用Python,当我插入以下命令时会出现此错误:

$ ln -S /usr/local/Cellar/opencv/3.4.0_1/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so /usr/local/lib/python3.6/site-packages/cv2.so
  File "<stdin>", line 1
    ln -S /usr/local/Cellar/opencv/3.4.0_1/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so /usr/local/lib/python3.6/site-packages/cv2.so
                                         ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:0)

您基本上需要运行如下命令:

ln -s SRC TGT

其中SRC是您刚刚构建/安装的库,TGT是您希望Python可见的位置。

找到SRC文件,独立于您安装的OpenCV版本,如下所示:

SRC=$(find /usr/local/Cellar/opencv -name "cv2.cpython*so")

并使用以下方法检查它是否正确

echo "$SRC"

应该有一行。如果有多行,则表示您安装了多个版本的OpenCV,因此可能如下所示:

/usr/local/Cellar/opencv/3.4.0_1/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so
/usr/local/Cellar/opencv/3.3.1_7/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so

在这种情况下,选择您想要的那个并手动将SRC设置为该那个,例如

SRC=/usr/local/Cellar/opencv/3.4.0_1/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so

找到TGT目录,独立于您安装的Python版本,如下所示:

TGT=$(find /usr/local/lib/ -type d -name "site-packages")

并使用以下方法检查它是否正确

echo "$TGT"

应该有一行。如果有多行,则表示您安装了多个版本的Python,它可能类似于:

/usr/local/lib/python3.6/site-packages
/usr/local/lib/python3.5/site-packages

如果是这种情况,请选择您要使用的那个并手动设置TGT,例如:

TGT=/usr/local/lib/python3.6/site-packages

现在建立链接:

ln -s "$SRC" "$TGT/cv2.so"

答案 1 :(得分:0)

在第6步中,首先获取sys路径,注意这是在运行python时完成的。

你可以告诉我,因为提示&#34;&gt;&gt;&gt;&#34;在

>>> print(sys.path)

如果您输入:

ln -s /usr/local/Cellar/opencv/3.4.1_4/....

在Python中,您将收到您提到的确切错误。

为了完成第6步,你现在必须通过输入

退出python
>>> exit()

现在您将看到$提示符。

我意识到你说出问题的方式你已经在$提示符,所以这可能没什么问题......但是如果你输入问题而不是剪切和粘贴它,也许你输错了当你遇到错误时,你实际上仍然在Python中。

$ ln -s /usr/local/Cellar/opencv/3.4.1_4/lib/python3.6/site-packages/cv2.cpython-36m-darwin.so /usr/local/lib/python3.6/site-packages/cv2.so