【问题标题】:pycharm not inspecting imports correctlypycharm没有正确检查进口
【发布时间】:2018-06-10 02:46:54
【问题描述】:

对于下面的目录结构,pycharm 似乎无法检测到从一个文件到另一个文件的导入

  • puzzle_project

    • __init__.py
    • snippets
      • __init__.py
      • models.py
      • views.py

models.py 的代码是:

from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles

LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
STYLE_CHOICES = sorted((item, item) for item in get_all_styles())


class Snippet (models.Model):
    created = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=100, blank=True, default='')
    code = models.TextField()
    linenos = models.BooleanField(default=False)
    language = models.CharField(choices=LANGUAGE_CHOICES, default='python', max_length=100)
    style = models.CharField(choices=STYLE_CHOICES, default='friendly', max_length=100)

    class Meta:
        ordering = ('created',)

views.py 的代码是:

from snippets.models import Snippet
from snippets.serializers import SnippetSerializer

views.py 将运行,但 pycharm 将这些行标记为 Unresolved Refrence。只有当我像这样重写这些行时:

from puzzle_project.snippets.models import Snippet
from puzzle_project.snippets.serializers import SnippetSerializer

pycharm 不会声明未解析的引用。请注意,上面的代码不会在 python 中运行。

请注意我使用的是最新版本的 pycharm 和 python 3.4

如何让 pycharm 正确检查这些代码行?

【问题讨论】:

    标签: pycharm


    【解决方案1】:

    问题在于首选项中的项目结构。确保根设置正确。检查器将此设置作为当前工作目录检查代码。

    检查员将某些事情标记为错误,因为如果我从与根设置相同的目录运行解释器,我会得到相同的错误。因此,要修复错误,要么更改 pycharm 的项目结构首选项中的根设置,要么更改运行解释器的 cwd。

    【讨论】:

      【解决方案2】:

      右键单击应该是项目根目录的目录,然后选择“将目录标记为”,然后选择“Sorces Root”。这应该可以解决。

      看这张图:

      【讨论】:

        猜你喜欢
        • 2018-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-02
        相关资源
        最近更新 更多