首页 > 编程语言 >Python导入包时提示“attempted relative import beyond top-level package”的解决办法

Python导入包时提示“attempted relative import beyond top-level package”的解决办法

时间:2024-08-17 17:16:50浏览次数:9  
标签:package Python 视作 level 导入 python 文件夹 import beyond

一篇很好的文章:

python跨目录导包失败 python不同路径导入包错误

 

在涉及到相对导入时,package所对应的文件夹必须正确的被python解释器视作package,而不是普通文件夹。否则由于不被视作package,无法利用package之间的嵌套关系实现python中包的相对导入。

文件夹被python解释器视作package需要满足两个条件:
  1、文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。
  2、不能作为顶层模块来执行该文件夹中的py文件(即不能作为主函数的入口)。
  补充:在"from YY import XX"这样的代码中,无论是XX还是YY,只要被python解释器视作package,就会首先调用该package的__init__.py文件。如果都是package,则调用顺序是YY,XX。
  另外,练习中“from . import XXX”和“from … import XXX”中的’.‘和’…’,可以等同于linux里的shell中’.‘和’…'的作用,表示当前工作目录的package和上一级的package。

 

标签:package,Python,视作,level,导入,python,文件夹,import,beyond
From: https://www.cnblogs.com/Nikole/p/18364650

相关文章

  • Python入门之Lesson1:出发!
    目录前言一、Python简介二、环境搭建1.Python安装2.Pycharm安装三.运行总结前言本章会带领同学们了解和入门python。一、Python简介Python是一种高级编程语言,具有简洁明了的语法和丰富的库,非常适合初学者学习。Python的设计注重代码的可读性和简洁性,其语法类似......
  • 【Python系列】命令 • 合集
    文件传输Python2//将http:///FileName写入Path中python2-c"importurllib2;u=urllib2.urlopen('http:///FileName');f=open('Path','w');f.write(u.read());f.close()"//Python3//将http:///FileName写入Path中,这里要注意decode()中......
  • python安装
    下载安装python到官网下载最新版这里是3.12.5版本https://www.python.org/downloads/在安装Python时,系统环境变量的长度超出了操作系统所允许的限制,如下所示。环境变量通常用于存储系统或应用程序的配置信息,如路径等。如果这些变量的总长度超出了操作系统或文件系统所......
  • 学习Python必备的8个网站,没有就举步维艰!
      学习Python时,选择合适的学习资源对于提升技能至关重要。以下是推荐的8个学习Python的必去网站及其地址:Python官方网站(Python.org)地址:WelcometoPython.org特点:官方文档是学习Python最权威的资料,涵盖了从基础语法到高级特性的全面指南。此外,网站还提供Python的下载和安......
  • Python编程常用英文单词大全!收藏别忘了!
      Python编程中常用的英文单词非常丰富,这些单词涵盖了编程的各个方面,包括基础概念、数据类型、控制结构、函数与模块、类与对象、异常处理等。以下是一些常用的英文单词及其简要说明:1.基础概念Variable(变量):用来存储和表示数据的容器。Function(函数):一段可重复使用的代码......
  • Python的71个内置函数,小白都能学会!
    Python是一种高级编程语言,具有很多强大的特性,其中之一就是内置函数。Python内置函数是指在Python解释器中可以直接使用的函数,无需导入任何模块或库。Python内置函数包含了很多常用的函数,可以快速地完成各种操作。本文将介绍Python内置函数的用法帮助初学者更好地掌握Python编程......
  • OpenCV图像处理——轮廓的面积与弧长计算(C++/Python)
    概述轮廓面积与轮廓周长是图像分析中的两项核心统计特征,它们为理解和量化图像中的形状提供了基础。轮廓面积:这代表了轮廓所界定区域的像素数量,是衡量区域大小的直接指标。面积的计算结果以像素平方为单位,为我们提供了一个量化的尺度来比较不同物体的相对大小。轮廓周长......
  • 【Python爬虫+可视化】利用Python爬取天气数据并实现数据可视化,绘制天气轮播图,一个完
    要使用Python爬取天气数据并实现数据可视化,特别是绘制天气轮播图(指的是随时间变化的天气图表),我们可以使用几个流行的库:requests 用于网络请求,pandas 用于数据处理,matplotlib 或 plotly 用于数据可视化。此外,为了处理时间序列数据,pandas 的日期时间功能非常有用。先来看......
  • 解决麒麟 V10 SP1 升级 Python 后 Yum 不可用问题
    目录一、前提概要二、解决办法1、卸载原有的python2、安装Python3.7.9rpm3、安装一系列 yum相关rpm4、rpm包下载一、前提概要    在部署gaussDB的时候,安装代理时要求python版本满足3.7.9,但已安装的麒麟V10内集成的python版本是3.7.4,且安......
  • VSCode中解决python模块导入问题
    原因环境变量中不包含当前路径解决方法解决方法有很多种,包括在环境变量文件夹添加pth文件,在导入模块前使用动态添加当前模块的路径到环境变量中。这里介绍一种比较优雅的方案,修改VSCode配置文件在设置中选择“工作区”,搜索terminal.integrated.env在settings.json中编辑......