Pycharm(Python IDE)不会自动完成 Django 模块
Posted
技术标签:
【中文标题】Pycharm(Python IDE)不会自动完成 Django 模块【英文标题】:Pycharm (Python IDE) doesn't auto complete Django modules 【发布时间】:2011-06-21 19:57:42 【问题描述】:我的 Python IDE (pycharm) 已停止自动完成我的模块(建议)。在我尝试导入的每个 django 模块之后,我都会得到未解析的引用:
from django
- 有效,但是一旦我添加一个“点”它就会失败,所以from django.db import models
给了我未解决的错误...
公认的事情是在编译引用之后确实可以工作。
我发现我所有的__init__.py
文件(无处不在)不再标有 python 图标,现在是记事本图标。在我的解释器中打开初始化文件也会给出非颜色标记的文本(没有语法突出显示)。所以我认为 Python 无法识别这些文件。
我的 python 解释器是 python 2.6.1 和 Django 1.2.4,我的 django 安装在:
/Lib/python/2.6/site-packages
(完整目录,不是鸡蛋)
当我从 IDE 中的外部库展开站点包时,我确实看到所有 .py 文件的彩色标记,__init__.py
文件除外。因此,这就是问题所在。
(我在谷歌上找到了类似问题的帖子,但没有答案...)
【问题讨论】:
在你的路径中寻找 django.py[c] 文件,很可能这样的文件就在那里,隐藏了真正的 django 包。 尝试使 PyCharm 缓存失效。 您能否提供指向您在 JetBrains 的 YouTrack 错误跟踪系统中的问题的链接? 【参考方案1】:我遇到了完全相同的问题,但找不到明确的答案。只是使缓存无效对我不起作用。问题在于,在某些时候,__init__.py
文件被注册为文本文件并弄乱了索引。我解决了这个问题:
__init__.py
。申请。
等待您的索引重新构建。
(如果仍然无法正常工作)文件 > 使缓存无效并重新启动。
【讨论】:
伟大的侦探作品。为我工作。我不知道 init.py 进入了文本文件列表。我没有理由这样做。 为我工作,谢谢。如果可以的话,我会给你+1000的答案。我已经花了几个小时来解决这个问题:) 再次感谢! 这发生在我不小心创建了一个名为__init__
且没有扩展名的新文件后(即,当我选择 New -> File,而不是 New -> Python File 然后只输入名称时没有扩展名)。这不知何故导致 IDE 将__init__.py
注册为文本文件..
Preferences > Editor > File Types > Text
【参考方案2】:
GOTO 文件 > 设置 > 语言和框架 > Python 模板语言
在模板语言下拉列表中选择 Django。
Jetbrains 文档 > Python Template Languages
【讨论】:
这个解决方案对我有用。仅供参考,在我的 PyCharm 上它只显示Template Languages
而不是 Python Template Languages
。可能是因为版本不同。只是这样可能会有所帮助,在我的案例中设置的默认模板引擎是 Jinja 而不是 django,难怪内置标签的自动完成功能(例如 comment
endcomment
)不起作用。非常感谢!【参考方案3】:
这里没有什么对我有用,但设置中的Enabling Django support 对我有用:
-
设置 > 语言和框架 > Django
检查“启用 Django 支持”
填写项目信息。
【讨论】:
【参考方案4】:对我有用的简单解决方案:使用 pycharm 项目选项启动一个新的 django 项目。尝试使用 django 导入模块自动完成。如果可行,请切换回您的原始项目,自动完成应该可以正常工作。
我仍然不明白为什么会这样。
【讨论】:
【参考方案5】:我解决了这个问题:
-
转到首选项 > 项目:YourProject > Python 解释器。
我看到“项目解释器”字段显示“2.7...”,但我使用 python 3.4 进行编码,而我的项目是使用 python 3.4 创建的。将“项目解释器”字段中的 python 版本替换为您创建 Django 项目所用的 Python 版本。应用更改并重新启动 PyCharm。
【讨论】:
谢谢。这对我有用。我没有其他翻译。但是在再次选择我的版本时,我注意到 Django 出现在列表中。在使缓存自动完成无效后开始工作。【参考方案6】:如果项目解释器使用 anaconda 等,则应该将其更改为可能位于此路径中的标准 python 解释器 (C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python. exe)
【讨论】:
【参考方案7】:File--> setting--> project:your_project_name --> python interperter
更改 python 解释器
【讨论】:
以上是关于Pycharm(Python IDE)不会自动完成 Django 模块的主要内容,如果未能解决你的问题,请参考以下文章