【attempted relative import beyond top-level package】
F1
|------F1_1
| |--__init__.py
| |--module1_1.py : class C1
|--__init__.py
|--current.py
|
F2
|--__init__.py
|--module2.py : class C2
|
main.py
##F1-F1_1-__init__.py中的内容
from .module import C1
以下运行环境是在main.py所在的目录
##current.py
from F1_1 import C1 #(1)报错
from ..F1.module2 import C2 #(2)报错
#------------------------
from .F1_1 import C1 #(3)不报错
from F1.module2 import C2 #(4)不报错
python导入包在索引的时候遵循这样的规则:
如果是不加比如".“/”…"(第二个是两个点),也就是说像类似于from dataset import Dataset
这使用的是绝对索引,也就是表示从运行环境开始的索引
但是如果加了,比如类似于 from .dataset import Dataset
那么就是相对索引,是相对于代码所在文件的环境的
由此:
(1)报错
发生异常: ModuleNotFoundError
No module named ‘F1_1’
这是因为环境是main.py,虽然current.py与F1_1在同一目录,但是环境并不在此,所以应该像(3)那样
(2)报错
发生异常: ValueError
attempted relative import beyond top-level package
这样为什么不可以呢?我也不知道,规定吧。导入顶级目录的包就只能用绝对索引的方式,像(4)那样。
【attempted relative import beyond top-level package】相关推荐
- 【ImportError】: attempted relative import with no known parent package
当你在运行的python脚本.使用了相对引用方式 (类似import -module) 去引用包时,可能会出现这个异常.ImportError: attempted relative import w ...
- [译][python]ImportError:attempted relative import with no known parent package
前言 在这篇文章中,我将会解析 ImportError: attempted relative import with no known parent package 这个异常的原因.当你在运行的py ...
- ImportError: attempted relative import with no known parent package
问题背景: 在windows中开发完对应的Pytest代码,在放到centos7.4时,出现这个错: 但是在windows中完美运行: 这个问题确实比较蛋疼,将近两三个小时浪费在这上面了: 概念理解: ...
- 成功解决ValueError: attempted relative import beyond top-level package
成功解决ValueError: attempted relative import beyond top-level package 目录 解决问题 解决思路 解决方法 解决问题 ValueError ...
- Python项目文件引用问题:ImportError: attempted relative import with no known parent package
一.问题说明: 在做一个项目,采用包的形式进行文件组织,运行代码是会报错ImportError: attempted relative import with no known parent pack ...
- 解决attempted relative import with no known parent package问题
假设有这样一个文件夹: - father_dir - son_1.py - son_2.py 当在son_2.py中调用son_1.py的 test 类时 调用的方式为: #导包 from .son_ ...
- Python相对导入:ValueError: attempted relative import beyond top-level package
首先明确,Python相对导入只能在同一package下而言的. 项目结构: relativeimport ├── __init__.py ├── modfail2.py ├── pack1 │ ...
- Python报错:ImportError: attempted relative import with no known parent package
目录 一.问题 二.解决 一.问题 运行代码出现报错:ImportError: attempted relative import with no known parent package 问题原因: ...
- Pycharm: ImportError: attempted relative import with no known parent package解决方案
不成熟的解决方案总结 1. 增加sources root,这样被引用的py中的相对路径(特指在路径前一个点两个点这种情况)就能使用了: 2. 引用其他py,不想使用全路径,可以右键被引用的py 复制他 ...
最新文章
- python和revit_如何在Python中产生新的RevitAPI对象
- 路考计算机系统评判,科目三智能考试有效解决路考舞弊行为
- sqoop 使用心得(sqoop增量倒入)
- Python稳基修炼的经典案例6(计算机二级、初学者必须掌握的例题)
- 目标检测中的正负样本
- zookeeper系列之通信模型(转)
- ajax怎么找回地址栏,使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL...
- docker容器不支持中文编码
- hihocoder第226周:打表找规律
- 剑指offer——面试题38:数字在排序数组中出现的次数
- 让你的FireFox支持迅雷精简版
- 我国《个人信息保护法》立法背景与制度详解
- 978_使用emacs lisp安装emacs插件
- idea中的xml文件怎么直接在idea中通过浏览器打开
- 将mp4文件转换为flv
- 谷歌浏览器chrome即将在2020年底停止支持flash,我们程序员该怎么办
- Python脚本运行出现语法错误
- 已知测量精度,计算工业相机分辨率
- 微信小程序《仿支付宝首页应用管理》
- OpenGL ES: (3) EGL、EGL绘图的基本步骤、EGLSurface、ANativeWindow