gpt4 book ai didi

PyCharm:为什么首选 `audioop`?

转载 作者:行者123 更新时间:2023-12-04 12:21:16 25 4
gpt4 key购买 nike

为什么audioop获得首选,如果我想导入 reverse() ?
我的代码包含 from django.urls import reverse已经在许多文件中。
为什么 PyCharm 不查看我的其他文件,然后将当前的第二个选项设为第一个?
我从来没有用过这个模块 audioop在我的一生中。
pycharm-import-reverse-django

最佳答案

Why does audioop get preferred, if I want to import reverse()?

audioop是一个内置模块,所以它的 stub 文件audioop.py存在于PyCharm的 python_stubs中.
PyCharm 只是按字母顺序列出自动导入建议。
PyCharm 按类别按字母顺序列出自动导入建议:
  • 当前文件中导入的已知引用(在下面的部分中详细介绍了这一点)
  • 第一方模块
  • 内置模块 ← audioop属于这里
  • 第三方模块 ← django属于这里
  • pip._vendor模块

  • My code contains from django.urls import reverse already in many files.

    Why does PyCharm not look my other files and then make the currently second option the first one?


    这种推理机制在 PyCharm 中根本没有实现。
    PyCharm 确实优先考虑来自当前文件中导入的已知引用,但有一些警告(在下面的部分中详细介绍了这一点)。
    解决方法

    I have never used the module audioop in my whole life.


    您可以安全地删除文件,或者只是更改文件扩展名(例如 audioop.txt)。
    当您在 PyCharm 中重新打开项目时,它将重新生成。
    当前文件中导入的已知引用
    PyCharm 优先考虑来自当前文件中导入的已知引用,但有一些注意事项。
    例如,如果您有 from django.urls.base import get_script_prefix在该文件中,PyCharm 会建议 reverse() from django.urls.base (其中 django.urls 公开)因为它知道 reversedjango.urls.base .
    警告:不建议导入引用。
    例如,有 from django.urls import path (如果你在 urls.py 中工作)不建议 reverse() from django.urls因为 reverse是一个导入引用(即跳转到 django.urls.reverse 会直接带你到 django.urls.base.reverse ,因为 django/urls/__init__.py 只是从 reverse 导入 django.urls.base )。
    解决方法:为导入设置别名,然后将其分配给原始名称。
    比如修改 django/urls/__init__.py中的import来自 reversereverse as _reverse然后定义变量 reverse = _reverse .
  • 此解决方法的警告:PyCharm 将此提示为 v ariable 而不是 f作用。
    解决方法:包装函数。
    def reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None):
    return _reverse(viewname, urlconf=urlconf, args=args, kwargs=kwargs, current_app=current_app)
  • 关于PyCharm:为什么首选 `audioop`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69352610/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com