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 模块的主要内容,如果未能解决你的问题,请参考以下文章

python教程Python IDE

Python的ide版本不同对pycharm有影响吗

pycharm是干啥用的?

Python IDE

python-pycharm安装

Windows安装 PyCharm