问题背景:

在windows中开发完对应的Pytest代码,在放到centos7.4时,出现这个错;

但是在windows中完美运行;

这个问题确实比较蛋疼,将近两三个小时浪费在这上面了;

概念理解:

  • 脚本(script):通过执行该文件能够完成某项任务,其中存在必要的任务执行逻辑(一般通过if __name__ == '__main__:'代码块明确任务的整体执行逻辑);
  • 模块(module):以.py作为文件名扩展的单个Python文件,一般由定义不同常量、函数、类而组成,其内容为方便其它模块、脚本进行调用,不存在自身的运行逻辑(也即通过在其它文件中使用import语句进行调用,而非直接通过python *.py运行);
  • 包(package):如果一个目录中存在多个模块,可以通过创建__init__.py文件将该当前目录标识为一个包。若多个模块放置于具有多层嵌套的目录当中,其逻辑关系为包(根目录)-> 子包(子目录)-> 模块(*.py);
  • 绝对导入(absolute import):从包/模块外部,按照目标模块的存在路径从外到内进行导入。示例单独的模块:import module
  • 模块位于包内部(不存在子包):from package import module
  • 模块位于包内部(存在子包):from package.subpackage import module)
  • 相对导入(relative import):位于同一包中的不同子包和模块,可以通过前缀.标识存在调用关系的包/模块之间的路径依赖关系并进行相对调用。示例:同层目录的模块:from . import module
  • 模块位于同层包内部(不存在子包):from .package import module
  • 模块位于同层包内部(存在子包):from .packge.subpackge import module模块位于上一层级目录:将以上语句的前缀进行替换from . -> from ..,以此类推

概念参考文章:(1条消息) 【一分钟解决】Python报错ImportError: attempted relative import with no known parent package_Jared Yam的博客-CSDN博客

解决方案:

在你的脚本文件中加入以下代码,将不同模块的包路径添加到运行的主文件中

#!/usr/bin/env python3if __name__ == '__main__' and __package__ is None:from os import sys, path# __file__ should be defined in this casePARENT_DIR = path.dirname(path.dirname(path.abspath(__file__)))sys.path.append(PARENT_DIR)from 你的项目目录.子模块import *

解决方案参考博文:python - Relative imports for the billionth time - Stack Overflow

ImportError: attempted relative import with no known parent package相关推荐

  1. [译][python]ImportError:attempted relative import with no known parent package

    前言 在这篇文章中,我将会解析 ImportError: attempted relative import with no known parent package 这个异常的原因.当你在运行的py ...

  2. Python项目文件引用问题:ImportError: attempted relative import with no known parent package

    一.问题说明: 在做一个项目,采用包的形式进行文件组织,运行代码是会报错ImportError: attempted relative import with no known parent pack ...

  3. Python报错:ImportError: attempted relative import with no known parent package

    目录 一.问题 二.解决 一.问题 运行代码出现报错:ImportError: attempted relative import with no known parent package 问题原因: ...

  4. Pycharm: ImportError: attempted relative import with no known parent package解决方案

    不成熟的解决方案总结 1. 增加sources root,这样被引用的py中的相对路径(特指在路径前一个点两个点这种情况)就能使用了: 2. 引用其他py,不想使用全路径,可以右键被引用的py 复制他 ...

  5. ImportError:attempted relative import with no known parent package

    python包的引用,如果使用pypharm时候,引入包容易出错,解决方法如下 执行代码出现ImportError:attempted relative import with no known pa ...

  6. Python相对引用报错ImportError: attempted relative import with no known parent package的处理方法

    报错信息 ImportError: attempted relative import with no known parent package 报错信息的意思是尝试使用相对路径导入但找不到已知的父级 ...

  7. 相对导入问题解决,ImportError:attempted relative import with no known parent package

    前言 本文中,我将会分析报错 ImportError: attempted relative import with no known parent package 的原因.当运行python脚本,使 ...

  8. Python 导包问题(importerror: attempted relative import with no known parent package)

    Python 导包问题(importerror: attempted relative import with no known parent package) 问题描述 解决方法 问题描述 今天想优 ...

  9. (已解决)ImportError attempted relative import with no known parent package

    想要调用同一目录下的另一个py文件中的类,以下或许是可行的解决方案. 需要做到两点 1. 将主调文件的名称改为__init__.py 2. from 被调文件的文件名称(删去末尾.py) import ...

最新文章

  1. Error:java: 无效的源发行版: 11
  2. android 环形时间显示_Android圆形进度条颜色的设置
  3. NVIDIA各个领域芯片现阶段的性能和适应范围
  4. 利用Docker volume修改Nginx Docker镜像里index.html
  5. abp vnext2.0之核心组件模块加载系统源码解析
  6. for-each循环的认识、定义、适用对象、举例、局限性
  7. python中的颜色_Python中常见颜色记录
  8. mysql update 几万 非常慢_面试官:谈谈你对mysql索引的认识?
  9. 蓝桥杯 ADV-214 算法提高 3-3求圆面积表面积体积
  10. 【java】创建一个线程,可以对其名称进行设置
  11. git 使用 tree命令
  12. python 005 __ 小斌文档 | 函数的定义和调用
  13. Excel 2010 VBA 入门 069 工作表事件之worksheet_selectionchange
  14. 网络电话免费打 【推荐】
  15. 网站php挂马从哪里挂的,寻找PHP(网站)挂马,后门
  16. 多地政府提及元宇宙发展 | 产业区块链发展周报
  17. 老卫带你拿offer---招银网络科技篇
  18. 三层交换技术 ACL访问控制列表
  19. Linux配置转串口芯片,【官方发布】CH9344 USB转四串口芯片Linux驱动
  20. 基于thinkphp5的物业管理系统

热门文章

  1. 美团token解决思路
  2. ESP32片外PSRAM
  3. spring boot 整合 ip2region(ip地址库)
  4. php sapi 那些坑,安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
  5. 消息队列相关使用方式
  6. java List/ArrayList 解惑
  7. c语言循环中怎样读取多行,c++循环读取多行文本文件
  8. 关于python语言数值操作符_下列哪种物质是体内硫酸基的提供者
  9. php过滤微信表情符号的正则表达式方法
  10. 2021年1~12月语音合成和语音识别论文月报