2015-06-20 144 views
1

對於下面的目錄結構,pycharm似乎無法從一個文件中檢測到導入到另一個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 

觀點的.py將運行,但pycharm將這些行標記爲未解決的參考。只有當我重寫這樣的行時:

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

pycharm將不聲明未解析的引用。請注意,上面的代碼不會在python中運行。

請注意我用的pycharm的最新版本和Python 3.4

我將如何得到pycharm正確地檢查這些代碼?

回答

0

問題在於偏好中的項目結構。確保根部設置正確。檢查員檢查具有此設置的代碼作爲當前工作目錄。

檢查員標記某些事情是錯誤的,因爲如果我從根設置相同的目錄運行解釋器,我會得到相同的錯誤。因此,要修復錯誤,請更改pycharm的項目結構首選項中的根設置,或者更改運行解釋器的位置的cwd。