2014-03-26 4 views
5

PyCharm에 문제가 있습니다. 나는 3.4 3.3.5에서 Python을 업데이트 한 후, 나는 다음과 같은 형식의 PyCharm에 성가신 오류가 있습니다PyCharm Python 3.4 문제 : 해결되지 않은 참조

from multiprocessing import Queue, Process 

PyCharm은 빨간색으로 QueueProcess을 강조하고 해결되지 않은 참조를 보여줍니다. 코드는 실제로 명령 행과 PyCharm 내부에서 잘 작동합니다. 코드 완성은이 클래스들에서도 깨진 것 같습니다.

PYTHONPATH과 관련된 문제가 의심 스럽지만 해결 방법을 모르겠습니다.

시스템의 자세한 사항 : 맥 OS X 10.9.2은 파이썬 3.4 그것은 PYTHONPATH에 문제가 아니에요, 브루 통해 Pycharm 3.1.1

답변

11

를 설치했습니다.

# 
# Copy stuff from default context 
# 

globals().update((name, getattr(context._default_context, name)) 
       for name in context._default_context.__all__) 
__all__ = context._default_context.__all__ 

특히

지금이 context._default_context 무엇인지 등 큐, 프로세스처럼 보이는 파일에 아무것도,이 없다 : 우리는 멀티 \ __ init__.py에서 보면, 우리는 다음을 참조? 우리는 멀티 프로세싱 \의 context.py에서 보면, 우리가 실제로 그래서

class BaseContext(object): 
    ... 
    def Queue(self, maxsize=0): 
     '''Returns a queue object''' 
     from .queues import Queue 
     return Queue(maxsize, ctx=self.get_context()) 

를 참조하여 사용자의 동작에 따라 대기열은 모듈 자체에 정의되지 않습니다, 오히려 일부 동적 코드를 통해, 그것은 런타임에 올바르게 설정됩니다 체계. 이것이 Pycharm이 멀티 프로세싱 모듈에 Queue 및 Process 클래스가 있는지를 모르는 이유입니다.

아마도 버그 리포트를 제출하고 선택적으로 코드를 실행하여 이러한 동적 이름을 알아 내거나 여기서 예외를 만들고 Pycharm에 사실상 Queue/Process 클래스가 있음을 알리는 해결 방법을 넣을 수 있습니다. 그것은 그것의 우선 순위 목록에 낮은 것 같아. 아마 그걸 가지고 살아야 할 것입니다. (여기 같은 보트에서)

+0

감사합니다. 그들이 그것을 해결할 때까지. 큰 문제는 아니지만 꽤 짜증날 수 있습니다. – Sterbic

+0

잠시 동안 수정되었습니다. 빌드 138.913 – CrackerJack9

3

내가 아직 존재하지 않는다면 JetBrains와 관련된 문제는 분명히보고 하겠지만 IDE가 예상대로 가져 오기를 해석하지 않아서 파이썬을 다운 그레이드하지 말 것을 제안하지 않습니다. (실제 인터프리터 여전히 작동합니다).

동일한 문제가 생겼습니다. 해결되지 않은 참조 위에 # noinspection PyUnresolvedReferences을 추가하면 컴파일러의 '오류'가 사라집니다. 물론이 문제가 해결되면 좋겠지 만 일단 # noinspection 행을 제거 하겠지만 PyCharm과 Python 3.4를 사용하여 코드 작성을 중단하지는 않을 것입니다.

편집는 : 누군가가 그것을보고처럼 보이는 : http://youtrack.jetbrains.com/issue/PY-12860

편집가 : 보도 빌드 138.913 저도 같은 문제가 있었다

0

에 고정. 당신은 파이썬 3.4.4를 사용하는 경우,이 단계를 따르세요

from queue import Queue 

당신은 여기에서 더 읽을 수 있습니다 : 설명에 대한 많은, 내가 다시 파이썬 3.3.5로 복귀 https://docs.python.org/3.4/library/queue.html

관련 문제