添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

这个问题的具体实例是在一个远程解释器上,但这个问题也出现在本地解释器上。

1 个评论
Maks
我也有同样的问题,并解决了这个问题。 Here solution .
python
pycharm
James McCalden
James McCalden
发布于 2012-07-31
30 个回答
Dmitry Trofimov
Dmitry Trofimov
发布于 2022-09-06
已采纳
0 人赞同

File | Invalidate Caches... and restarting PyCharm helps.

这是我在PyCharm 4.0.x上工作的唯一方法。事实上,如果有什么东西被搞砸了,它就不会刷新(有时它甚至会在列表中重复显示同一个解释器几次),你将不得不手动删除这些文件......我甚至有一次不得不删除.idea文件夹。
这真是太重量级了。是否没有办法在PyCharm 4.5中重新获得旧的 "刷新路径 "选项?
如此简单的操作,这样的集成开发环境却不闻不问,实在让人恼火。
它暂时起作用。几分钟后,我又收到同样的警告
公认的答案是沉重的,很可能没有解决问题的关键。以下是直接来自马嘴的信息。 JetBrains - PyCharm内容根基 "PyCharm使用源码根作为解决导入问题的起点" 我遇到的问题和标题一样,因为在一些项目中,我需要使用一个文件树,其中源是在一个子文件夹中,然后PyCharm对导入感到困惑。杀死缓存可能会有一时的帮助,但不是正确的方法。把sources目录标记为根目录,一切都很好。
kelorek
kelorek
发布于 2022-09-06
0 人赞同

Dmitry's response didn't work for me.

我通过进入Project Interpreters,选择 "Paths "选项卡,并点击子菜单中的刷新按钮,使我的工作得以进行。它自动填充了一个叫做 "python-skeletons "的东西。

edit : 使用PyCharm 3.4.1的截图(它隐藏得很好)

哪里是 "Python解释器"。你是说 "项目解释器 "吗?我使用的是Linux,我也找不到Paths标签。
在OSX上的PyCharm 3.4中,它是一个图标,看起来像一个小的文件夹树,并没有说 "路径"。
对于任何仍然困惑的人(在PyCharm 3.4.1)。【替换代码0
PyCharm 4中没有这样的刷新按钮,只有加号和减号。
@Sarah 在PyCharm 4.0.4中,在 "解释器路径 "窗口中,我没有 "重新加载路径列表 "按钮(底部蓝色刷新图标)。而且,我在列表中没有看到任何路径,加号和减号按钮也被禁用。
florisla
florisla
发布于 2022-09-06
0 人赞同

这方面有许多解决方案,有些比其他的更方便,而且它们并不总是有效。

以下是所有你可以尝试的,从 "快速 "到 "烦人"。

  • Do File -> Invalidate Caches / Restart and restart PyCharm.
  • You could also do this after any of the below methods, just to be sure.
  • First, check which interpreter you're running: Run -> Edit Configurations -> Configuration -> Python Interpreter .
  • Refresh the paths of your interpreter:
  • File -> Settings
  • Project: [name] -> Project Interpreter -> 'Project Interpreter': Gear icon -> More...
  • Click the 'Show paths' button (bottom one)
  • Click the 'Refresh' button (bottom one)
  • Remove the interpreter and add it again:
  • File -> Settings
  • Project: [name] -> Project Interpreter -> 'Project Interpreter': Gear icon -> More...
  • Click the 'Remove' button
  • Click the 'Add' button and re-add your interpeter
  • Delete your project preferences
  • Delete your project's .idea folder
  • Close and re-open PyCharm
  • Open your project from scratch
  • Delete your PyCharm user preferences (but back them up first).
  • ~/.PyCharm50 on Mac
  • %homepath%/.PyCharm50 on Windows
  • Switch to another interpreter, then back again to the one you want.
  • Create a new virtual environment, and switch to that environments' interpreter.
  • Create a new virtual environment in a new location -- outside of your project folder -- and switch to that environment's interpreter.
  • Switch to another interpreter altogether; don't switch back.
  • 如果你正在使用Docker,请注意。

  • Make sure you are using pip3 not pip , especially with remote docker and docker-compose interpreters.
  • Avoid influencing PYTHONPATH . More info here: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000058690-Module-not-found-in-PyCharm-but-externally-in-Python .
  • 如果上述方法对你不起作用,但你确实找到了其他的窍门,那么请留下评论。

    Alex
    自从我使用PyCharm以来,我一直有这个问题,他们仍然不能可靠地解决这个问题。好在你已经涵盖了大部分的工作方法,以某种方式最终解决了这个问题。有趣的是,我时不时地回到这个答案,以找出我忘记尝试的解决方法。
    Mark
    我按照这个列表的方式工作,删除/重新添加解释器对我有效。谢谢你!"。
    还有两个提示。 1)如果适用的话,确保你使用的是 pip3 而不是 pip ,尤其是远程docker和docker-compose解释器。 2)如果你正在使用docker-compose和/或docker,使用 PYTHONPATH 会导致这些类型的问题。更多信息在这里。 intellij-support.jetbrains.com/hc/en-us/community/posts/...
    我尝试了上面的所有方法,对我来说,只有在一个完全不同的位置创建一个新的虚拟环境时才会成功。我的项目中有一个 venv 文件夹,但它一直显示为 "未解决的引用"(即使它正常执行)。我在我的项目文件夹之外创建了一个新的venv,然后它就工作了。不知道为什么。
    moving the venv folder out of the project folder worked for me too.
    Shoham
    Shoham
    发布于 2022-09-06
    0 人赞同

    在我的例子中,是目录结构的问题。 我的项目看起来像这样。

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

    So right click on dir_b > "mark directory as" > "project root"

    问题不在于PyCharm不承认 project 代码。 它不承认标准的Python内置方法。
    解决了我在MacOS上的PyCharm 2019.3.3的问题
    显然,这是我的问题。谢谢!
    在2021.1版本中对我有用,在尝试了所有其他提示后,如重装骨架等。
    mujad
    mujad
    发布于 2022-09-06
    0 人赞同

    你必须将你的根目录标记为。 SOURCE ROOT (红色)。 和你的应用程序。 EXCLUDED ROOT (蓝色)。

    然后未解决的引用将消失。如果你使用PyChram pro,它会自动为你做这个。

    Jose
    我有pycharm pro,它没有为我做到这一点,但在我手动正确标记文件夹后,它就工作了。
    是的,这才是正确的答案,而不是什么 "核 "选项,它的副作用只是暂时的帮助,却不能解决jetbrains工具的思考方式("杀死缓存",对吧......当它被重建时?"再杀死它!")。题目,这正是我的项目中的问题,项目根不一定是来源根,而进口产品不能理解这一点。下面是直接来自马嘴的信息 jetbrains.com/help/pycharm/content-root.html "PyCharm使用源码根作为解决导入问题的起点" !
    简单而容易的修复。没有其他解决方案对我有用,但这个!非常感谢你们!
    只要把odoo目录标记为 "source root "就可以了。
    这解决了问题,但也带来了一个新问题:你不能再扫描问题了
    Thomas Farvour
    Thomas Farvour
    发布于 2022-09-06
    0 人赞同

    我发现自己在Invalidating Caches或Refreshing Paths不起作用的情况下,删除并重新添加远程解释器来解决这个问题。

    我使用vagrant,每隔一段时间,如果我在我的多虚拟机设置中添加一个新的虚拟机,转发的端口就会改变,当PyCharm试图为SSH使用错误的端口时,这似乎会混淆它。 改变端口似乎并不能帮助破损的引用。

    Imran
    Imran
    发布于 2022-09-06
    0 人赞同

    如果其他解决方案对你都不起作用,可以尝试(备份)并删除你的~/.PyCharm40文件夹,然后重新打开PyCharm。这也会杀死你所有的偏好。

    在Mac上你要删除~/Library/Caches/Pycharm40和~/Library/Preferences/PyCharm40。

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

    这是最接近我在Pycharm 2021.3.2中工作的答案。我从 ~/Library/Caches/ 中删除了JetBrains目录,并将一个或多个 files ~/Library/Preferences 中,没有与JetBrains相关的目录。在我的案例中,导入文件在docker-compose解释器中没有得到解决。但在Docker解释器中,一切都在使用从完全相同的docker-compose文件启动的服务。疯了。
    siripan
    siripan
    发布于 2022-09-06
    0 人赞同

    用PyCharm 4.0.6测试(OSX 10.10.3)。 按照这个步骤。

  • Click PyCharm menu.
  • Select Project Interpreter.
  • Select Gear icon.
  • Select More button.
  • Select Project Interpreter you are in.
  • Select Directory Tree button.
  • Select Reload list of paths.
  • Problem solved!

    Fairlight Evony
    Fairlight Evony
    发布于 2022-09-06
    0 人赞同

    很抱歉提出这个问题,但是我有一个重要的更新要做。

    如果你使用的是Python 2.7.6以外的其他版本,你可能还想把你的项目解释器恢复为Python 2.7.6。在其他建议都没有解决我的问题之后,这在我安装的PyCharm 4.04专业版Ubuntu上起了作用。

    切换到本地的 Python 2 解释器,然后再返回到远程的 Python 3 解释器,对我来说也解决了这个问题。
    Josh
    这在PyCharm 5 professional上也是有效的。本帖中的其他解决方案对我都不起作用。我进入 Settings -> "Project Interpreters" ,点击齿轮,然后点击 "More..." 。选择了默认的python解释器(在我的例子中是 /usr/bin/python2.7 ),点击 "Ok" "Apply" 。然后再进去,选择我想使用的实际的virtualenv。再按 "Ok" "Apply" ,它就固定了。
    同样, FileNotFoundError 也是Python-3才有的东西。在我在File-Settings-Project-Interpreter和Run-Edit-Configurations中都设置了正确的解释器后,其中一个错误就消失了。
    flix
    flix
    发布于 2022-09-06
    0 人赞同

    如果你想只忽略一些 "未解决的引用 "的错误,你也可以明确地告诉PyCharm,在你的类/方法/函数前面放置这个。

    # noinspection PyUnresolvedReferences
        
    Alexander.Iljushkin
    Alexander.Iljushkin
    发布于 2022-09-06
    0 人赞同

    更简单的行动 :

  • File > Settings > Project > Project Interpreter
  • Select "No interpreter" in the "Project interpreter" list
  • Apply > Set your python interpreter again > Click Apply
  • 利润--Pycharm正在更新骨架,一切都很好。

    无效缓存和重启对我来说不起作用,但这个却起了作用!
    Jason McVetta
    Jason McVetta
    发布于 2022-09-06
    0 人赞同

    你可以尝试关闭Pycharm,删除项目中的 .idea 文件夹,然后再次启动Pycharm并重新创建项目。 这对我来说是有效的,而无效缓存却没有。

    user2233949
    user2233949
    发布于 2022-09-06
    0 人赞同

    在所有建议的解决方案都不适用的情况下,我终于得到了这个工作。 我在玩一个django休息框架项目,并使用了我为它设置的虚拟环境。 我能够通过将根目录标记为源根而使Pycharm固定下来,但随后django的服务器会抛出解析异常。 因此,一个可以工作,另一个则不能,反之亦然。

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

    -playground
         -playground
    

    第二个操场文件夹是我必须标记为来源根的文件夹,以便一切都能按预期工作。这对我的方案来说没有任何问题,所以这是一个可行的解决方案。

    我只是觉得我应该分享一下,以防别人可以使用它。

    Shehaaz
    Shehaaz
    发布于 2022-09-06
    0 人赞同

    这也可能是一个Python版本的问题。我不得不选择正确的版本来使其工作。

    kkica
    kkica
    发布于 2022-09-06
    0 人赞同

    所有的答案都没有解决我的问题。

    对我来说,切换环境和回到同一环境才是最重要的。替换代码0

    我正在使用conda环境。

    Waqar Detho
    Waqar Detho
    发布于 2022-09-06
    0 人赞同

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

    Tim
    Tim
    发布于 2022-09-06
    0 人赞同

    天啊,真是一场噩梦,我的不同StackOVerflow答案的混合体。

  • Switch to local interpreter /usr/bin/pythonX.X and apply
  • View paths like above answer
  • Find skeletons path. Mine was (/home/tim/Desktop/pycharm-community-2016.2.3/helpers/python-skeletons)
  • Switch back to virt interpreter and add the skeletons path manually if it didn't automatically show up.
  • Ali Sherafat
    Ali Sherafat
    发布于 2022-09-06
    0 人赞同

    上述解决方案对我来说都不起作用!
    如果你的项目使用虚拟环境,请确保应用虚拟环境目录下的 python.exe 文件作为项目的解释器 (Alt + Ctrl + Shift + S) 。 这对我来说解决了问题。

    Wannes Goethals
    Wannes Goethals
    发布于 2022-09-06
    0 人赞同

    在我的例子中,检查错误的出现是由于一个非常特殊的python代码的情况。 一个包含两个numpy函数和两个列表访问的min函数使我的代码检查出现了这种错误。

    在下面的例子中去掉'd=0'这一行,如预期的那样出现了一个未解决的引用错误,但是对于代码检查员来说,读出这个错误并没有消失。之后我仍然可以顺利地执行该代码。

    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])
    

    清除缓存和重新加载路径列表都不起作用。只有用下面的例子补丁改变代码才会起作用。

  • Another ordering of the 'min' parameters: schematically S U T V but not S T U V or T S U V
  • Using a method instead of the function: S[d].abs() instead of np.abs(S[d])
  • Using the built-in abs() function
  • Adding a number to a parameter of choice: U[d] + 0.
  • Hien Quang Le
    Hien Quang Le
    发布于 2022-09-06
    0 人赞同

    我的问题是 瓶装水-WTF is not resolved by 魅力 .我曾试图重新安装,然后再安装或 无效缓存并重新启动 魅力, but it's still not working.

    然后我想出了这个解决方案,它对我来说非常有效。

  • Open Project Interpreter by Ctrl+Alt+S (Windows) and then click Install (+) a new packgage.
  • 现在,你会看到你的库已被解决。

    Ivica Čevis
    Ivica Čevis
    发布于 2022-09-06
    0 人赞同

    In PyCharm 2020.1.4 (Community Edition) on Windows 10 10.0. Under Settings in PyCharm: File > Settings > Project Structure I made two changes in Project Structure: main folder marked as source and odoo folder with all applications I excluded Screenshot shows what I did. After that I restarted PyCharm: File > Invalidate Caches / Restart...

    未解决的引用错误已被删除

    Ouss
    Ouss
    发布于 2022-09-06
    0 人赞同

    正如其他答案所建议的那样,无效缓存对我不起作用。我发现在我的案例中,问题在于PyCharm将Python包的init.py文件标记为文本,因此没有将它们包括在分析中,这意味着python解析没有正常工作。

    对我来说,解决方案是:。

    Open PyCharm settings Navigate to Editor -> File Types Find Python and add __init__.py to the list of python files or 查找文本并从文本文件列表中删除 __init__.py

    Daniil Mashkin
    Daniil Mashkin
    发布于 2022-09-06
    0 人赞同

    如果你使用的是 vagrant ,这个错误可能是由错误的python解释器引起的。 在我们的 vagrant 中,我们使用的是 pyenv ,所以我不得不把 Python Interpreter path 的路径从 /usr/bin/python 改为 /home/vagrant/.pyenv/versions/vagrant/bin/python

    qwr
    qwr
    发布于 2022-09-06
    0 人赞同

    I have a project where one file in src/ imports another file in the same directory. To get PyCharm to recognize I had to to go to File > Settings > Project > Project Structure > select src folder and click "Mark as: Sources"

    From https://www.jetbrains.com/help/pycharm/configuring-folders-within-a-content-root.html

    Source roots 包含实际的源文件和资源。PyCharm使用源码根作为解决导入问题的起点

    seizouki
    seizouki
    发布于 2022-09-06
    0 人赞同

    I had to go to File->Invalidate Caches/Restart, reboot Ubuntu 18.04 LTS, then open Pycharm and File-> Invalidate Caches/Restart again before it cleared up.

    Valli
    Valli
    发布于 2022-09-06
    0 人赞同

    For me it helped: update your main directory "mark Directory as" -> "source root"

    Adrian
    Adrian
    发布于 2022-09-06
    0 人赞同

    @kelorek为我工作,但之前在互换器路径中我必须添加一些路径。

    from geometry_msgs.msg import Twist
    

    是下划线的错误,然后在远程机器的python中运行。

    help("geometry_msgs")
    

    最后会有一个路径,比如说。

    /opt/ros/foxy/lib/python3.8/site-packages/geometry_msgs/__init__.py
    

    所以在你的intepreter pycharm路径中加入

    /opt/ros/foxy/lib/python3.8/site-packages
    

    希望它能帮助你,也能帮助我 :)

    Nico Rösel
    Nico Rösel
    发布于 2022-09-06
    0 人赞同

    我也有同样的症状。在我的例子中,问题的根源是我在自定义属性中设置了 idea.max.intellisense.filesize=50在自定义属性中。 我可以通过把它设置为100来解决这个问题。

    Help->Edit Custom Properties

    christianbrodbeck
    christianbrodbeck
    发布于 2022-09-06
    0 人赞同