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

问题描述 投票:0回答:1

在pycharm中,当我从同一目录导入本地模块时,我想摆脱未解析的引用警告:

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

  • 无需取消设置->编辑器->检查-> Python->未解析的引用选项

我认为这是一个公平的要求,因为如果我没有记错的话,python允许从同一目录导入模块。我的理解是本地目录(“。”目录)隐含在PYTHON PATH中。

该代码实际上可以在命令行中运行(无需将目录放置在任何PYTHON PATH中),但也可以在pycharm中使用,这具有讽刺意味。可以,但是pycharm:

  • 显示未解决的参考警告和

  • 导入函数上的CRL B无效,并显示“找不到要转到的声明”

代码示例:

结构:

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

main.py:

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

tools1.py:

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

是否有摆脱烦人行为的方法?

如果没有,其背后的原理是什么?

PS:这个问题很具体,尽管看起来像其他问题,但我认为它不是重复的。

python module pycharm python-import
1个回答
1
投票
what。通过将其标记为源根目录,您可以让PyCharm明确知道该目录在执行期间将位于sys.path中,并且PyCharm可以继续使用该目录中的模块。我会说这种行为的原因是这样的事实:在Python中,您几乎可以从任何地方导入任何内容,并且IDE不能始终确定将使用哪个模块。
© www.soinside.com 2019 - 2024. All rights reserved.