python 明明安装模块,却导入不了 no module name all


本人碰到一个实例:
test_123的脚本如下(通过traceroute来生成路由跟踪图表):

#!/usr/bin/python
import os,sys,time,subprocess
import warnings,logging

warnings.filterwarnings("ignore",category=DeprecationWarning)
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import traceroute

domains = raw_input('Please input on or more IP/domains:')
target = domain.split(' ')
dport = [80]
if len(target) >= 1 and target[0]!='':
res,unans = traceroute(target,dport=dport,retry=2)
res.graph(target="> test.svg")
time.sleep(1)
subprocess.Popen("/usr/bin/convert test.svg test.png",shell=True)
else:
print "IP/domain number of errors,exit"


但是运行报错:no module name all

但是直接import scapy是没问题的。因此,判断可能是找不到all.py这个文件

查一些网上的资料,发现如下这种方法:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>通过sys.path.append这样来增加
对于模块和自己写的程序不在同一个目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中。

对于仍然不能用,解释器报错说找不到你要的模块 
No Module Named '自己的模块'
在程序开头加上:

import sys
sys.path.append(’引用模块的地址')

例子如下 : 
在 /usr/local/sp_system/sp_os中有一个os_sp.py 
需要使用 os_sp.py 中的 def foo

则应该 
import sys
sys.path.append(’/usr/local/sp_system/sp_os')
from sp_os import os_sp
os_sp.foo()

也可以
import sys
sys.path.append(’/usr/local/sp_system/sp_os/os_sp')
import os_sp
os_sp.foo()
特别注意如果 os_sp 模块调用了sp_system的别的包 则要用上一种方式 并注意级层

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>道理相通后,我的直接做法是
1、[root@redhat174 scapy]# pwd
/project/scapy/scapy-2.2.0/scapy
找到scapy模块的python安装包 

ls 一下发现果然里面有all.py

2、ls /usr/lib64/python2.6/site-packages 下面没有找到scapy的相关信息

3、那事情就简单了,cp -rf /project/scapy/scapy-2.2.0/scapy /usr/lib64/python2.6/site-packages 直接复制过去,或者直接软链接过去

4、结果事情搞定脚本运行成功


转载于:https://www.cnblogs.com/to-be-rich/p/7261654.html

引用和引用都提到了ModuleNotFoundError的问题,这意味着在导入某些模块时出现了错误,并且系统找不到相应的模块。解决这个问题的方法是确保你已经正确安装了所需的模块,并且在代码中正确导入它们。 你可以尝试以下几个步骤来解决这个问题: 1. 确认你已经安装了相应的模块。通过在命令行中运行pip install <module_name>来安装模块。例如,对于skimage模块,你可以运行pip install scikit-image。 2. 检查模块名是否拼写正确,并且大小写是否匹配。Python是区分大小写的,所以确保你在代码中使用的模块名与实际安装模块名完全一致。 3. 如果你是在虚拟环境中工作,请确保你已经激活了正确的虚拟环境。有时候在不同的虚拟环境中安装了相同的模块,但只有在激活了正确的环境后才能访问到。 4. 检查sys.path中是否包含了模块所在的目录。sys.path是一个包含了Python解释器搜索模块的路径的列表。你可以通过在代码中打印sys.path来查看路径列表。如果模块所在的目录不在sys.path中,你可以通过将目录添加到sys.path中来解决问题。 希望这些步骤能够帮助你解决ModuleNotFoundError的问题。如果问题仍然存在,请提供更多的信息,以便我们能够更好地帮助你。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [No module named ‘skimage‘,简洁高效解决](https://blog.csdn.net/weixin_45487348/article/details/127425534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [“ModuleNotFoundError: No module named sklearn”解决办法](https://blog.csdn.net/qq_43604183/article/details/128863955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python模块导入出现ModuleNotFoundError: No module named ‘***’](https://download.csdn.net/download/weixin_38658085/14885867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值