Pycharm说REPORT.py文件不存在。但是代码可以正常工作。
这里是问题的图像:
现在那不是最奇怪的部分。我知道有时在您使用软件包时,您必须引用软件包名称:import package_name.filename
,因此当我尝试使用它似乎已修复错误的报告时。
但是然后...
Traceback (most recent call last):
File "C:/Users/REDACTED/PycharmProjects/REDACTED/MAIN/MAIN.py", line 2, in <module>
import MAIN.REPORTS as PDD
File "C:\Users\REDACTED\PycharmProjects\REDACTED\MAIN\MAIN.py", line 2, in <module>
import MAIN.REPORTS as PDD
ModuleNotFoundError: No module named 'MAIN.REPORTS'; 'MAIN' is not a package
这似乎与Pycharm如何检查我的文件一样有误。
为了完整起见,我也尝试从中导入。
Pycharm也没有将其标记为无效,但是在运行代码时出现了一个有趣的新错误:
Traceback (most recent call last):
File "C:/Users/REDACTED/PycharmProjects/REDACTED/MAIN/MAIN.py", line 2, in <module>
from MAIN import REPORTS as PDD
File "C:\Users\REDACTED\PycharmProjects\REDACTED\MAIN\MAIN.py", line 2, in <module>
from MAIN import REPORTS as PDD
ImportError: cannot import name 'REPORTS'
根据评论的请求,这里是我的文件夹结构:
根据我确实尝试导入的评论中的建议*,但我仍然从Pycharm获得相同的报告问题。
更新:
我相信我发现了为什么尝试从我的软件包中导入时存在该问题。
由于我的软件包名称是MAIN
,而我的主要py文件是MAIN.py
,我相信我的代码正在尝试从py文件而非软件包中导入。
[将包重命名为MAIN_PACK
并执行import MAIN_PACK.REPORT as PDD
后,代码正常运行,而Pycharm并未提供任何报告说它无效。
至少修改了Pycharm报告。
但是仍然不能解释为什么Pycharm报告
import REPORTS
不是一个模块,但是代码仍然可以工作。有人知道为什么会这样吗?
将主文件夹设置为源根目录。您可以通过右键单击MAIN文件夹并导航到列表底部来做到这一点。将目录标记为源根目录。在控制台下进入Pycharm设置,然后选中将源根添加到python路径。
Pycharm使用源根目录来解析导入。更多信息可以在这里找到
https://www.jetbrains.com/help/pycharm/content-root.html
链接中的相关文本:
源根(或源文件夹;显示为源根图标)。
- 这些根目录包含实际的源文件和资源。 PyCharm使用源根作为解决导入的起点。源根目录下的文件根据其类型进行解释。 PyCharm可以解析,检查,索引和编译这些根的内容。