Pycharm如何导入本地模块而不将本地目录标记为源根目录?

2024-10-01 02:30:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在pycharm中,当我导入本地模块(来自同一目录)时,我希望消除未解析引用警告:

  • 不将本地目录标记为源根目录,并且

  • 不取消选中设置->;编辑器->;检查->;Python->;未解析引用选项

我认为这是一个公平的请求,因为如果我没有错的话,python允许从同一目录导入模块。我的理解是,本地目录(“.”目录)隐式地位于PYTHON路径中。你知道吗

代码实际上在命令行中工作(没有将目录放在任何PYTHON路径中),但在pycharm中也工作,这很讽刺。它的工作,但魅力:

  • 显示未解析的引用警告和

  • 导入函数上的CRL B将不起作用,并显示“找不到要转到的声明”

代码示例:

结构:

import_test1      (directory not mark as sources root)
   __init__.py    (same behaviour if not present)
   main.py
   tools1.py

你知道吗主.py地址:

from tools1 import add  #  =====> Unresolved references of tools1
print(add(2,3))  #=====> CRTL B does not work on add()

工具1.py:

def add(a, b):
    return a + b

有办法摆脱这种恼人的行为吗?你知道吗

如果没有,背后的理由是什么?你知道吗

附言:这个问题很具体,我不认为这是一个重复,虽然它看起来像其他问题。你知道吗


Tags: 模块代码py标记importgt路径目录
1条回答
网友
1楼 · 发布于 2024-10-01 02:30:52

长话短说-不,你不能。背后的理由是PyCharm不能确定你想要导入什么。通过将其标记为sources root,您可以明确地让PyCharm知道该目录将位于系统路径在执行过程中,PyCharm可以继续使用该目录中的模块。 我想说,这种行为的原因是,在Python中,几乎可以从任何地方导入任何东西,IDE不能总是确定将使用哪个模块。你知道吗

相关问题 更多 >