Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ModuleNotFoundError: No module named ‘__main__.XX‘;

ModuleNotFoundError: No module named ‘__main__.XX‘;

作者头像
狼啸风云
修改于 2022-09-02 13:05:13
修改于 2022-09-02 13:05:13
2.7K00
代码可运行
举报
运行总次数:0
代码可运行

python3版本

from .XX.logger import Logger ModuleNotFoundError: No module named '__main__.XX'; '__main__' is not a package

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from .output.logger import Logger
 
 
from .output.logger import Logger
ModuleNotFoundError: No module named '__main__.output'; '__main__' is not a package

不知道原因

解决办法是不使用当前路径的  .

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from automationtest_frame.output.logger import Logger

同时

1、把automationtest_frame 的上级路径放到系统path里

2、把autimation_frame的上级目录作为工程目录打开

以下是终极原因****************************************************************************************************************************

接着调查原因明确了,不能简单的这样执行,这样执行的话,模块的名字被变成了__main__

例如

run.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from .dir_2.testfile import TestFile
     
class Run(TestFile):
       def hello(self):
            print("hello")
            self.nothing()

dir_2\testfile.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class TestFile():
    def nothing(self):
       return

直接执行run.py就报错了,当前文件方式执行的话,上级目录相对的包名,也变成了__main__

所以必须是run.py以module来执行,例如如下方式

run1.py里,调用run来执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from dirtest.run import Run
Run().hello()

所以使用from的话,还是建议使用本文开始说的结局方案比较好,直接使用相对路径会出现问题

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于opentracing + jaeger 实现全链路追踪
当代互联网服务,通常都是用复杂,大规模分布式集群来实现,微服务化,这些软件模块分布在不同的机器,不同的数据中心,由不同团队,语言开发而成。因此,需要工具帮助理解,分析这些系统、定位问题,做到追踪每一个请求的完整调用链路,收集性能数据,反馈到服务治理中,链路追踪系统应运而生。
orientlu
2019/06/14
3.1K0
jaeger入门
有两个服务组成,svc1,svc2 有三个span组成,svc1 sayhello --> svc1 req svc2 --> svc2 get bagger
有点技术
2020/07/14
9610
链路追踪学习四:gin集成jaeger
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn
仙士可
2022/04/25
1.2K0
golang源码分析:分布式链路追踪
在上一节搭完分布式追踪的采集展示链路后,这一节开始分析分析分布式链路追踪的核心源码。我们知道分布式追踪的原理是通过traceId串联调用链路上的所有服务和日志,每个服务都有一个自己的spanId,每一次rpc调用都需要生成一个子spanId,通过父子spanID的对应关系,构建一个有向无环图实现分布式追踪的。因此在业务代码的接入过程中需要实现如下功能,父子span关系的构建,父子span关系的传递(包括context内部传递和rpc服务之间的传递有可能跨协议比如http和grpc协议之间传递),rpc日志的采样,上报等等。每一个厂商都有自己的实现,opentrace定义了统一的标准接口,我们按照标准实现即可。在业务代码中实现包括四步:
golangLeetcode
2022/12/17
8400
golang源码分析:分布式链路追踪
[系列] - go-gin-api 路由中间件 - Jaeger 链路追踪(六)
说实话,这篇文章确实让大家久等了,主要是里面有一些技术点都是刚刚研究的,没有存货。
新亮
2019/09/25
1.3K0
[系列] - go-gin-api 路由中间件 - Jaeger 链路追踪(六)
研究调用链跟踪技术之jaeger
最近在做微服务构架里有关调用链跟踪(也有叫分布式追踪)的部分,有一些心得,这里总结一些。
jeremyxu
2019/03/13
3.3K0
研究调用链跟踪技术之jaeger
微服务线上问题排查困难?不知道问题出在哪一环?那是你还不会分布式链路追踪
咱们以前单体应用里面有很多的应用和功能,依赖各个功能之间相互调用,使用公共的代码包等等,排查问题,使用类似于 gdb/dlv 工具或者直接查看代码日志,进行定位和分析
阿兵云原生
2023/09/28
4420
微服务线上问题排查困难?不知道问题出在哪一环?那是你还不会分布式链路追踪
技术阅读摘要-3.Jaeger技术分析
通过上一次技术阅读摘要,我们了解了分布式链路追踪这项技术,Jaeger是其主流的实现方案。
junedayday
2021/10/27
5430
分布式追踪实战
分布式监控是一个市场庞大的领域,尤其在现在微服务越来越被广泛采用的的现代,监控和追踪系统可以说百花齐放,诞生了很多开源框架和商业公司。
王磊-字节跳动
2020/07/19
1.9K0
链路追踪学习二:Jaeger
Jaeger是一个基于opentracing规范的链路追踪工具,官方地址:https://www.jaegertracing.io/
仙士可
2022/04/15
1.5K0
链路追踪学习二:Jaeger
微服务之分布式链路
在过去10-15 年间,移动互联网时代大背景下,诞生了无数日活都是千万级以上的 app 产品。我们在客户端的任何一次操作,往往都需要经过后端服务的多个模块、多个基础组件、多台机器的相互协作才能完成请求的处理和响应。在这一系列的请求中,可能是串行也可能是并行,那么如何确定客户端的一次操作背后调用了哪些应用、哪些模块,经过了哪些节点,每个模块的调用先后顺序是怎样的,每个模块的性能问题如何?随着业务系统模型的日趋复杂化,分布式系统中急需一套链路追踪(Trace)系统来解决这些痛点。
磊叔的技术博客
2025/06/07
730
微服务之分布式链路
分布式链路追踪
微服务架构 作为云原生核心技术之一,提倡将单一应用程序划分成一组小的服务(微服务),服务之间互相协调、互相配合,为用户提供最终价值。
gopher云原生
2021/10/18
1.3K1
Tempo - 分布式Loki链路追踪利器
Tempo是Grafana Labs在ObservabilityCON 2020大会上新开源的一个用于做分布式式追踪的后端服务。它和Cortex、Loki一样,Tempo也是一个兼备高扩展和低成本效应的系统。
米开朗基杨
2020/12/14
4K0
Tempo - 分布式Loki链路追踪利器
Go语言微服务框架 - 9.分布式链路追踪-OpenTracing的初步引入
随着模块的增加,我们会越发感受到系统的复杂性,开始关注系统的可维护性。这时,有个名词会进入我们的视野:分布式链路追踪。相关的内容可以参考这我的两篇文章:
junedayday
2021/11/10
2.4K0
链路跟踪之Jaeger简介,架构,opentracing解析,安装
Jaeger Client - 为不同语言实现了符合 OpenTracing 标准的 SDK。应用程序通过 API 写入数据,client library 把 trace 信息按照应用程序指定的采样策略传递给 jaeger-agent。
iginkgo18
2021/07/13
2.2K0
2w字长文,让你瞬间拥有「调用链」开发经验
很多同学表示,对于微服务中常用的调用链功能的原理,感觉很模糊。本文将真正的从零开始,介绍调用链客户端开发的一些要点。让你瞬间拥有APM开发经验。文章很长很长,照例看一下相关目录。
xjjdog
2019/11/19
1.6K0
2w字长文,让你瞬间拥有「调用链」开发经验
一探究竟新一代可观测标准OpenTelemetry
相信大家日常经常使用kibana、grafana、jaeger等平台观察系统状态和定位问题,这些就是可观测体系的一部分。可观测主要包括:
用户1093396
2023/09/01
1.4K0
一探究竟新一代可观测标准OpenTelemetry
拥抱 Agent,“0” 代码玩转 Trace 之 OpenTelemetry 系列第二弹!
自2006年以来,曾就职于SonyEricsson、SAP等多家公司,历任软件开发工程师,数据开发工程师,解决方案架构师
腾讯云中间件团队
2021/03/24
1.6K0
拥抱 Agent,“0” 代码玩转 Trace 之 OpenTelemetry 系列第二弹!
[业界方案]用Jaeger来学习分布式追踪系统Opentracing
笔者之前有过zipkin的经验,希望扩展到Opentracing,于是在学习Jaeger基础上总结出此文,与大家分享。
罗西的思考
2020/09/16
2.3K0
链路追踪学习三:跨服务,跨进程追踪
首先,我们要了解,跨服务追踪需要有个traceId标识,以及其他需要传递的链路数据:
仙士可
2022/04/25
8130
链路追踪学习三:跨服务,跨进程追踪
相关推荐
基于opentracing + jaeger 实现全链路追踪
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验