【发布时间】:2025-11-27 23:45:02
【问题描述】:
我有多个迹象表明我的 python 模块已安装,但有几个导致“没有名为..的模块”异常。比如……
root@raspberrypi:~# pip install pyfingerprint --no-cache-dir
Collecting pyfingerprint
Downloading https://www.piwheels.org/simple/pyfingerprint/pyfingerprint-0.1-py3-none-any.whl
Requirement already satisfied: pyserial in /usr/local/lib/python3.5/dist-
packages (from pyfingerprint)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from
pyfingerprint)
Installing collected packages: pyfingerprint
Successfully installed pyfingerprint-0.1
那么,模块就找不到了……
root@raspberrypi:~# python
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyfingerprint
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'pyfingerprint'
还要注意,上面安装中的依赖模块被列为满足,但导入它们也失败...
>>> import pyserial
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'pyserial'
>>> import Pillow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'Pillow'
当我检查它们是否存在时,pip 同意...
pip freeze
...
Pillow==4.0.0
...
pyfingerprint==0.1
...
pyserial==3.4
...
问题不仅限于此安装。 pip 说有许多模块在导入时存在失败。其他的都很好。
我已经尝试了以下 SO 帖子中的所有内容,但无济于事......
[Python pip install module is not found. How to link python to pip location?
sys.path 似乎指向正确的位置:
>>> import sys
>>> type(sys.path)
<class 'list'>
>>> for path in sys.path:
... print(path)
...
/usr/lib/python35.zip
/usr/lib/python3.5
/usr/lib/python3.5/plat-arm-linux-gnueabihf
/usr/lib/python3.5/lib-dynload
/root/.local/lib/python3.5/site-packages
/usr/local/lib/python3.5/dist-packages
/usr/lib/python3/dist-packages
我在这里不知所措。你有任何建议都会很棒。谢谢你。
更新
FWIW,这只是在我照常之后才发生的:
sudo apt-get update
sudo apt-get upgrade
从 uname 产生以下内容:
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
模块,或者至少是我正在导入的模块,在此之前运行良好。
【问题讨论】:
-
为什么不现在建立一个新的清洁环境?