安装的Python模块无法导入

时间:2019-07-07 19:15:49

标签: python module pip

我有多种迹象表明我的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

在此之前,模块,或者至少是我正在导入的模块,都可以正常工作。

2 个答案:

答案 0 :(得分:0)

是pip命令安装python2软件包吗? 例如,在我的系统上,我对python 2使用pip,对python3软件包使用pip3。

答案 1 :(得分:0)

实际上我无法使用python 3.x加载的模块在同一台机器上的python 2.x安装中可以识别。

相关问题