我是靠谱客的博主 典雅小兔子,最近开发中收集的这篇文章主要介绍关于python调用父级、表兄弟级目录包遇到的问题前言:一、先看一下文件之间的结构二、正确的方法:三、解释一下原因:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:

使用python构建稍微大一点的工程的时候,有时会产生多个层级的py文件,而这些属于不同层级的py文件之间可能存在相互调用,在运行主程序的时候没有问题,而在运行单个文件的时候就出现了问题。本文主要解决 ImportError: attempted relative import with no known parent package 这种问题。

一、先看一下文件之间的结构

为了能够证明调用成功,在每个对应的py文件中,加入如下代码:

尝试调用一下

出错了

初步分析:

pycharm 会自动分析代码中的语法错误,并且会自动搜索相应的包是否存在,这里没有任何提示和警告,说明从语法上来讲没有错误。

二、正确的方法:

那个abc可以取任意的名字,输出结果,调用成功。

三、解释一下原因:

python调用包时,要从当前的sys.path中查找,当前的sys.path中除了python安装路径下的函数库包路径外,还会将当前的工程路径的根目录添加到sys.path中。

此外,函数包的调用是通过名字 pakg1.pakg1_1.fct1_1_1 来进行的,如下:

所以要想调用表兄级别的包,需要将name的名字改掉。

最后

以上就是典雅小兔子为你收集整理的关于python调用父级、表兄弟级目录包遇到的问题前言:一、先看一下文件之间的结构二、正确的方法:三、解释一下原因:的全部内容,希望文章能够帮你解决关于python调用父级、表兄弟级目录包遇到的问题前言:一、先看一下文件之间的结构二、正确的方法:三、解释一下原因:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部