pycharm 没有正确检查进口
pycharm not inspecting imports correctly
对于下面的目录结构,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 将这些行标记为未解析的引用。只有当我这样重写这些行时:
from puzzle_project.snippets.models import Snippet
from puzzle_project.snippets.serializers import SnippetSerializer
将 pycharm 不声明未解析的引用。请注意,上面的代码不会 运行 in python。
请注意,我使用的是最新版本的 pycharm 和 python 3.4
我如何才能 pycharm 正确检查这些代码行?
问题出在首选项中的项目结构。确保根设置正确。检查员使用此设置检查代码作为当前工作目录。
检查员将某些事情标记为错误,因为如果我 运行 来自与根设置相同目录的解释器,我会得到同样的错误。因此,要修复错误,请更改 pycharm 的项目结构首选项中的根设置,或者更改 运行 解释器所在位置的 cwd。
右键单击项目的根目录,然后选择 "Mark Directory as",然后选择 "Sorces Root"。这应该可以解决。
查看这张图片:
对于下面的目录结构,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 将这些行标记为未解析的引用。只有当我这样重写这些行时:
from puzzle_project.snippets.models import Snippet
from puzzle_project.snippets.serializers import SnippetSerializer
将 pycharm 不声明未解析的引用。请注意,上面的代码不会 运行 in python。
请注意,我使用的是最新版本的 pycharm 和 python 3.4
我如何才能 pycharm 正确检查这些代码行?
问题出在首选项中的项目结构。确保根设置正确。检查员使用此设置检查代码作为当前工作目录。
检查员将某些事情标记为错误,因为如果我 运行 来自与根设置相同目录的解释器,我会得到同样的错误。因此,要修复错误,请更改 pycharm 的项目结构首选项中的根设置,或者更改 运行 解释器所在位置的 cwd。
右键单击项目的根目录,然后选择 "Mark Directory as",然后选择 "Sorces Root"。这应该可以解决。
查看这张图片: