我有多种迹象表明我的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
在此之前,模块,或者至少是我正在导入的模块,都可以正常工作。
答案 0 :(得分:0)
是pip命令安装python2软件包吗? 例如,在我的系统上,我对python 2使用pip,对python3软件包使用pip3。
答案 1 :(得分:0)
实际上我无法使用python 3.x加载的模块在同一台机器上的python 2.x安装中可以识别。