pycharm not inspecting imports correctly
对于下面的目录结构,pycharm似乎无法检测从一个文件到另一个文件的导入
-
puzzle_project -
__init__.py -
snippets -
__init__.py -
models.py -
views.py
-
-
对于models.py,代码是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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,代码是:
1 2 | from snippets.models import Snippet from snippets.serializers import SnippetSerializer |
views.py将运行但pycharm将这些行标记为Unresolved Refrence。 只有当我重写这样的行:
1 2 | from puzzle_project.snippets.models import Snippet from puzzle_project.snippets.serializers import SnippetSerializer |
将pycharm声明为未解析的引用。 请注意,上面的代码不会在python中运行。
请注意我使用的是最新版本的pycharm和python 3.4
我如何让pycharm正确检查这些代码行?
问题在于首选项中的项目结构。 确保正确设置了根目录。 检查员使用此设置检查代码作为当前工作目录。
检查员将某些事情标记为错误,因为如果我从与根设置相同的目录运行解释器,我将得到相同的错误。 因此,要修复错误,请更改pycharm的项目结构首选项中的根设置,或者更改运行解释器的位置的cwd。
右键单击应该是项目根目录的目录,然后选择"将目录标记为",然后选择"Sorces Root"。 这应该解决。
看这个图片: