我正在尝试使用此链接(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
答案 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