S_pectator 2022-09-19 15:13 采纳率: 70.6%
浏览 27
已结题

python3包绝对导入问题

python3的包导入, 纠察语法细节时发现了一个问题

包目录如图

img

绝对导入的规则是可以导入当前模块对应顶级包的同级别模块的, 所以
file11.py
from pk3 import *
该导入是有效的, 但是同目录下使用ipython的交互环境

1 from pk3 import *
ModuleNotFoundError: No module named 'pk3'

求解,为什么 ? 我的理解交互环境不是相当于当前目录下的可交互式的.py文件吗, 为什么静态的.py文件的导入可以成功, 动态不行?

  • 写回答

2条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-09-19 15:40
    关注

    python项目导包很容易出现问题,这一块儿会出现找不到父包,或者说没有这个模块,或者说循环导入问题。
    我的建议是导包,不要尽量使用相对导入,相对导入很容易报错,至于绝对导入也出现错误的话,将同级目录的父目录加入路径就行

    # 将pk11上上级目录demo1添加到path,添加之前可以输出sys.path看他在里面吗,么有就添加!
    import sys,os
    sys.path.append(os.path.abspath(os.path.join(os.getcwd(), "../..")
    # print(sys.path)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月20日
  • 创建了问题 9月19日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么