Python PyCharm显示有效代码的未解析引用错误

Python PyCharm显示有效代码的未解析引用错误,python,pycharm,Python,Pycharm,我正在用PyCharm做一个项目。项目已打开并配置了解释器,可以成功运行。远程解释器路径已正确映射。这似乎是正确的配置,但PyCharm用“未解决的引用”错误突出显示了我的有效代码,即使对于内置Python函数也是如此。为什么即使代码在运行,它们似乎也没有被检测到?有没有办法让PyCharm正确识别这些 远程解释器存在此问题的具体实例,但本地解释器也会出现此问题。File |使缓存无效。。。重新启动PyCharm会有所帮助。Dmitry的回答对我不起作用 我通过进入项目解释器,选择“路径”选项

我正在用PyCharm做一个项目。项目已打开并配置了解释器,可以成功运行。远程解释器路径已正确映射。这似乎是正确的配置,但PyCharm用“未解决的引用”错误突出显示了我的有效代码,即使对于内置Python函数也是如此。为什么即使代码在运行,它们似乎也没有被检测到?有没有办法让PyCharm正确识别这些



远程解释器存在此问题的具体实例,但本地解释器也会出现此问题。

File |使缓存无效。。。重新启动PyCharm会有所帮助。

Dmitry的回答对我不起作用

我通过进入项目解释器,选择“路径”选项卡,然后点击子菜单中的刷新按钮,使我的工作正常。它自动填充了一个叫做“python骨架”的东西

编辑:使用PyCharm 3.4.1的屏幕截图(隐藏得很好)


我发现自己删除并重新添加了远程解释器,以便在无效缓存或刷新路径无效时解决此问题


我使用vagrant,如果我在我的多VM设置中添加一个新VM,转发的端口会发生变化,这似乎会使PyCharm在尝试为SSH使用错误的端口时感到困惑。更改端口似乎对断开的引用没有帮助。

很抱歉打断了这个问题,但是我有一个重要的更新要做


如果您使用的不是我在Ubuntu上安装的PyCharm 4.04 professional版本,而是Python 2.7.6版本,那么您可能还想将项目解释器还原为Python 2.7.6版本,因为其他建议都没有解决我的问题。

在我的例子中,是目录结构。 我的项目如下所示:

+---dir_A
    +---dir_B
        +app
        |
        \-run.py

因此,右键单击dir_b>“将目录标记为”>“项目根”

如果其他解决方案都不适合您,请尝试(备份)并删除~/.PyCharm40文件夹,然后重新打开PyCharm。这也会扼杀你所有的偏好

在Mac上,您要删除~/Library/Caches/Pycharm40和~/Library/Preferences/Pycharm40

在Windows上:C:\Users\$USER.PyCharm40。

使用PyCharm 4.0.6(OSX 10.10.3)测试 遵循以下步骤:

  • 点击菜单
  • 选择项目解释器
  • 选择齿轮图标
  • 选择更多按钮
  • 选择您所在的项目解释器
  • 选择目录树按钮
  • 选择“重新加载路径列表”

  • 问题解决了

    您可以尝试关闭Pycharm,从项目中删除
    .idea
    文件夹,然后再次启动Pycharm并重新创建项目。这对我有效,而使缓存无效则不行

    有很多解决方案,有些比其他更方便,但并不总是有效

    以下是所有您可以尝试的,从“快速”到“烦人”:

    • 执行
      文件
      ->
      使缓存无效/重新启动
      并重新启动PyCharm。
      • 您也可以在以下任何方法之后执行此操作,只是为了确保
    • 首先,检查正在运行的解释器:
      Run
      ->
      编辑配置
      ->
      配置
      ->
    • 刷新解释器的路径:
      • 文件
        ->
        设置
      • Project:[name]
        ->
        项目解释器
        ->“项目解释器”:齿轮图标->
        更多…
      • 单击“显示路径”按钮(底部一个)
      • 单击“刷新”按钮(底部一个)
    • 删除解释器并再次添加:
      • 文件
        ->
        设置
      • Project:[name]
        ->
        项目解释器
        ->“项目解释器”:齿轮图标->
        更多…
      • 单击“删除”按钮
      • 单击“添加”按钮并重新添加interpeter
    • 删除您的项目首选项
      • 删除项目的
        .idea
        文件夹
      • 关闭并重新打开PyCharm
      • 从头开始打开项目
    • 删除您的PyCharm用户首选项(但首先备份它们)。
      • Mac上的
        ~/.PyCharm50
      • Windows上的
        %homepath%/.PyCharm50
    • 切换到另一个解释器,然后再次返回到所需的解释器
    • 创建一个新的虚拟环境,并切换到该环境的解释器
    • 完全切换到另一个解释器,不要切换回原来的解释器
    如果您使用的是Docker,请注意:

    • 确保您使用的是
      pip3
      而不是
      pip
      ,尤其是远程docker和docker compose解释器
    • 避免影响
      PYTHONPATH
      。更多信息请点击此处:

    我关闭了所有其他项目,并在Pycharm中独立运行我所需的项目。我从pycharm中创建了一个单独的virtualenv,并使用pip在其中添加了所有必需的模块。我在项目的解释器中添加了这个虚拟环境。这解决了我的问题

    在所有提议的解决方案都不适用于我之后,我终于实现了这一目标。我正在玩一个django rest框架项目,并且正在使用我用它安装的virtualenv。我可以通过将根文件夹标记为源根来修复Pycharm,但是django的服务器会抛出resolve异常。所以一个可以工作,而另一个不行,反之亦然

    最终,我只需将子文件夹标记为pycharm中的源根。所以我的结构是这样的

    -playground
         -env
         -playground
    
    第二个游乐场文件夹是我必须标记为源根目录的文件夹,以便一切都按预期工作。这并没有给我的场景带来任何问题,所以这是一个可行的解决方案


    我只是想和大家分享一下,以防其他人可以使用它。

    这也可能是python版本的问题。我必须选择t
    import numpy as np
    def strange(S, T, U, V):
        d = 0
        print min(np.abs(S[d]), np.abs(T[d]), U[d], V[d])
    
    # noinspection PyUnresolvedReferences
    
    
    File > Settings > Project > Project Interpreter 
    > Select "No interpreter" in the "Project interpreter" list 
    > Apply > Set your python interpreter again > Click Apply
    
    
    from geometry_msgs.msg import Twist
    
    help("geometry_msgs")
    
    /opt/ros/foxy/lib/python3.8/site-packages/geometry_msgs/__init__.py
    
    /opt/ros/foxy/lib/python3.8/site-packages