Python模块导入出现ModuleNotFoundError: No module named ‘***’

这篇博客讨论了Python中遇到ModuleNotFoundError的问题及其解决方案。当导入模块时,如果不在sys.path路径下,会导致错误。文章介绍了如何通过sys.path.append添加模块路径,并给出实例,如在Flink和ROS环境中解决导入模块的问题。
摘要由CSDN通过智能技术生成

Python模块导入出现ModuleNotFoundError: No module named ‘***’ Traceback (most recent call last):

File “/usr/flink/alert/server/greeter_server.py”, line 8, in from
example import helloworld_pb2, helloworld_pb2_grpc
ModuleNotFoundError: No module named ‘example’


1、Python中,每个py文件被称之为模块,每个具有_init_.py文件的目录被称为包。只要模块或者包所在的目录在sys.path
中,就可以使用import模块或者import包来使用。如果要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名
即可,比如在a.py中使用b.py:import b即可;但是如果要如果要import一个不同目录的文件,首先需要使用一个不同目录的文件,首先需要使用sys.path.append方法方法
将将b.py所在目录加入到搜索目录中,然后进行所在目录加入到搜索目录中,然后进行import即可,例如:即可,例如:import sys sys.path.append(‘c:\xxx\b.py’)
2、sys.path是python的搜索模块的路径集,是一个list;可以在python环境下使用sys.path.append(path)添加相关的路径,但
在退出python环境后添加的路径就会自动消失了。
3、ImportError: No module named ‘xxx’:模块不在搜索路径里,从而导致路径搜索失败。

import sys
sys.path.append("/usr/flink/alert/")
sys.path.append("/usr/flink/alert/example/")
from example import helloworld_pb2, helloworld_pb2_grpc

同样的,anaconda虚拟环境下的python3模块运行无rospy,可以尝试用这种方式解决

#! /usr/bin/python3
import sys
sys.path.remove('/opt/ros/melodic/lib/python2.7/dist-packages')

import torch, os, cv2
from model.model import parsingNet
from utils.common import merge_config
from utils.dist_utils import dist_print
import torch

import numpy as np
import torchvision.transforms as transforms

from data.constant import culane_row_anchor

import sys
sys.path.append("/opt/ros/melodic/lib/python2.7/dist-packages")
import rospy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值