python——导入包的那些事

1、问题描述:当自己定义了一个python包,采用from .包名 import 函数名/变量名的方式时,直接运行该文件会产生'\__main__' is not a package的错误。
2、问题解决:
目录结构如下:
在这里插入图片描述
图中所标出的文件就是采用from .的方式导入函数的文件。直接运行该文件产生的错误是:
在这里插入图片描述
从其返回的错误信息可以知道,__main__.hm_message不是一个模块,我们知道在main函数执行时,__name__这个变量值是__main__.当采用from .的方式运行的时候,.就代表__name__这个变量。所以要想采用这种方式来导入包就需要在其他模块中调用hm_import_pkg
也就是在sharik文件夹下的w.py中调用hm_import_pkg,代码如下:
在这里插入图片描述
运行该程序则可间接地使用from .的方式导入包。

总结:导入包还是不要采用相对路径的方式,采用绝对路径就不会有这些坑。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值