我想运行一个脚本来扫描我的网络,这个脚本使用了一个很棒的库,名为“谁在我的wifi上”。我已经安装了这个模块来运行脚本,但是我从提示中得到了错误,它不能在系统中检测到这样的模块。这是剧本。
from who_is_on_my_wifi import *
WHO = who()
for i in range(0, len(WHO)):
print(WHO[i])这就是我所犯的错误。
python scanner.py
Traceback (most recent call last):
File "scanner.py", line 1, in <module>
from who_is_on_my_wifi import *
ImportError: No module named who_is_on_my_wifi这是我安装了模块的证据。
pip3 install 'who_is_on_my_wifi'
Requirement already satisfied: who_is_on_my_wifi in /home/harein/.local/lib/python3.8/site-packages (1.2.0)
Requirement already satisfied: getmac in /home/harein/.local/lib/python3.8/site-packages (from who_is_on_my_wifi) (0.8.2)
Requirement already satisfied: python-nmap in /home/harein/.local/lib/python3.8/site-packages (from who_is_on_my_wifi) (0.6.1)任何关于如何避免这种情况的建议都可以继续执行我的脚本吗?
编辑
脚本最终以我想要的方式执行,
python scanner.py到python3 scanner.py
你们是对的,这就是我如何执行脚本产生这个错误的方式,这显然不是模块中的一个问题。
我要感谢所有给support.<3的人
发布于 2021-03-06 14:53:02
当试图
import this_is_not_a_module你所犯的错误:
ImportError: No module named this_is_not_a_module是Python 2引发的错误。
Python 3会引发另一个问题:
ModuleNotFoundError: No module named 'this_is_not_a_module'因此,您的实际问题是,您的系统试图使用某些Python 2版本来执行您的脚本,同时为您的Python3.8版本安装模块。
发布于 2021-03-06 14:40:56
有时,您无法导入模块,因为您已经安装了两个python版本(或conda与其一起)。如果有,请删除您的python版本或激活conda并尝试导入您的模块,或者只需尝试:
pip uninstall who_is_on_my_wifi
pip install who_is_on_my_wifi发布于 2021-03-06 15:19:41
我通常倾向于在每个项目中安装模块,并对其使用virtualenv。它可以链接不同版本的程序(如python解释器、pip等),并负责PYTHONPATH和安装依赖关系的方式。
$ pip3 install virtualenv
$ virtualenv whoisonwifi
$ source whoisonwifi/bin/activate
$ pip --version来自/mnt/devel/workonhome/whoisonwifi/lib/python3.7/site-packages/pip的
pip 21.0.1 (python3.7)
$ pip install 'who_is_on_my_wifi'从此,您的代码(某种程度上)适用于我。
https://stackoverflow.com/questions/66506805
复制相似问题