【问题标题】:PyCharm editor and Python console unresolved referencePyCharm 编辑器和 Python 控制台未解决的参考
【发布时间】:2019-08-01 21:59:10
【问题描述】:

如果我的项目中有一个模块,并且所有初始化都配置正确,并且我尝试从该模块导入任何内容,PyCharm 不会识别我要导入的内容。它以前可以工作,但不知何故停止工作,我不知道为什么。

例子:

./package/file.py

def function():
    print('function')

./package/__init__.py

from .file import function

./call.py

from package import function

function()

代码执行良好,但我无法使用自动完成功能,编辑器在文件 ./call.py 中提示错误“未解析的引用‘函数’”

我试过的方法不起作用:

  • 使缓存无效/重新启动
  • 使用不同的解释器(但仍使用 conda)
  • CTRL + Space 没有显示我需要的任何内容
  • 选项卡没有显示我需要的任何内容
  • 重启 PyCharm

编辑0: 如果我使用import package,自动完成功能可以很好地显示在 Python 控制台中使用的函数 (package.function),但在编辑器中仍然不起作用。

编辑1: 我试图将目录标记为Source Root,但它不起作用

编辑2: 从 /home/usr/.PyCharm* 删除所有文件后,尝试从 snap 中卸载并重新安装它,它工作正常。

【问题讨论】:

    标签: python import module pycharm package


    【解决方案1】:

    您需要将顶级目录标记为Source Root

    右键它,在底部有一个选项Mark Directory as并选择Sources Root。它会变成蓝色。

    然后就可以导入了:

    from package import function
    function()
    

    import package
    package.function()
    

    here了解更多信息。

    【讨论】:

    • 我以前从来没有这样做过它才能正常工作,但是在这个问题之后我仍然这样做了,它仍然没有解决问题。
    • 您发布的link 说:“默认情况下,涉及内容根文件夹中的所有文件”。我不知道问题与此有关。
    【解决方案2】:

    尝试从 snap 中卸载并在从 /home/usr/.PyCharm* 中删除所有文件后重新安装它,它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 2015-11-12
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      相关资源
      最近更新 更多