安装 python 模块 ImportError (dlib, imutils) raspberry pi
installing python modules ImportError (dlib, imutils) raspberry pi
我正在尝试在我的 raspberry py 上安装 dlib 以使用 opencv 进行计算机视觉项目。我成功安装了opencv,我可以在python.
中导入cv2模块
$ python
>>> import cv2
>>> cv2.__version__
'3.3.0'
>>>
然后我用 pip install 安装了 2 个模块:dlib 和 imutils。我可以在 pip freeze 中看到它们:
$ pip freeze | grep dlib
dlib==19.10.0
$ pip freeze | grep imutils
imutils==0.4.6
但问题是在 python 中我无法导入它们,python 找不到它们并且我无法使用它们。
>>> import dlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dlib
>>> import imutils
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named imutils
我该如何解决这个问题?
编辑:
@hoefling
$ python -c "import os, sys; print(os.linesep.join(sys.path))"
/usr/lib/python2.7
/usr/lib/python2.7/plat-arm-linux-gnueabihf
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/gtk-2.0
$ pip -V
pip 10.0.0 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
就像 hoefling 在评论中所说的那样,您可能安装了多个 python 版本,因为 Rpi 带有 2 和 3。如果您使用的是 Python 3,请使用 pip3 而不是 pip。
您的系统已将 pip
符号链接到 pip3
,因此当您使用 pip
时,它会安装 python3
的软件包。使用 pip2
将 pip
定位为 python2
:
$ pip2 install dlib imutils
您可能没有为 python2
安装 pip
。在这种情况下,您必须单独安装它。根据 sys.path
中的 dist-packages
判断,你有一个 debian 或一些衍生版本,所以很可能你必须 apt install python2-pip
将 pip2
添加到系统中。
我用
安装了 imutils
sudo pip install imutils --target /usr/local/lib/python3.5/dist-packages/
进入 python 3.5 文件夹,一切正常
我正在尝试在我的 raspberry py 上安装 dlib 以使用 opencv 进行计算机视觉项目。我成功安装了opencv,我可以在python.
中导入cv2模块 $ python
>>> import cv2
>>> cv2.__version__
'3.3.0'
>>>
然后我用 pip install 安装了 2 个模块:dlib 和 imutils。我可以在 pip freeze 中看到它们:
$ pip freeze | grep dlib
dlib==19.10.0
$ pip freeze | grep imutils
imutils==0.4.6
但问题是在 python 中我无法导入它们,python 找不到它们并且我无法使用它们。
>>> import dlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dlib
>>> import imutils
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named imutils
我该如何解决这个问题?
编辑: @hoefling
$ python -c "import os, sys; print(os.linesep.join(sys.path))"
/usr/lib/python2.7
/usr/lib/python2.7/plat-arm-linux-gnueabihf
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/gtk-2.0
$ pip -V
pip 10.0.0 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
就像 hoefling 在评论中所说的那样,您可能安装了多个 python 版本,因为 Rpi 带有 2 和 3。如果您使用的是 Python 3,请使用 pip3 而不是 pip。
您的系统已将 pip
符号链接到 pip3
,因此当您使用 pip
时,它会安装 python3
的软件包。使用 pip2
将 pip
定位为 python2
:
$ pip2 install dlib imutils
您可能没有为 python2
安装 pip
。在这种情况下,您必须单独安装它。根据 sys.path
中的 dist-packages
判断,你有一个 debian 或一些衍生版本,所以很可能你必须 apt install python2-pip
将 pip2
添加到系统中。
我用
安装了 imutilssudo pip install imutils --target /usr/local/lib/python3.5/dist-packages/
进入 python 3.5 文件夹,一切正常