运行没有问题,pycharm却标红引用?

本文探讨了在PyCharm中遇到的一个有趣现象:虽然IDE标记某些导入语句为错误,但实际运行并无问题。文章解释了这一现象的原因,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

本文出现的原因在于我验证 py可以调用同级目录下包的任意模块 这一既定事实的过程。

整个代码结构如图所示
在这里插入图片描述fine.py 与 ansemb在同一级目录下,所以它可以调用ansemb.config

但在实际操作中却发现,pycharm会标红
在这里插入图片描述
然后我运行了一下
在这里插入图片描述
发现是可以运行的,但标红是什么道理??? 这就很奇怪了

问题原因

经过百度,发现了原因(链接见文末,感谢)

  • python在执行fine.py时,以fine所在目录为工作区
  • 而pycharm在我们进行代码编辑,预编译查错时,是以我们的项目顶层目录为工作区的
  • 例如我这里的pythonProject就是当前pycharm的工作区
  • 在这里插入图片描述
  • 可以这样测试一下,在PythonProject目录下创建 ansemb.config.py,看看有无改变
  • 在这里插入图片描述
  • 此时,发现,标红消失了,不过运行的时候和之前是一样的没有什么变化
  • 还是以 python的工作区为准

问题解决

  • 首先,这是pycharm的问题,对代码没有任何的影响,换一个ide没准就没有了
  • 代码没有问题就不用去解决,标红就标红
  • 如果非要解决,setting–Project pythonProject–Project Structures–将content root改为这里的try即可
    在这里插入图片描述

参考

https://cloud.tencent.com/developer/article/1425221

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值