2013-12-18 2 views
6

파이썬 3.3에서 프로세스를 가져올 때 다음과 같은 오류가 발생합니다. 그런 오류가 발생하는 이유가 있습니까? 아니면이 버그입니까? 난 다른 터미널 창에서 장고 서버를 실행하고 있지만 이것과 관련이있을 것이라고는 생각하지 않습니다. 당신의 역 추적에python 3.3에서 프로세스를 가져 오는 중 가져 오기 오류가 발생하는 이유는 무엇입니까?

Python 3.3.2 (default, Nov 8 2013, 13:38:57) 
[GCC 4.8.2 20131017 (Red Hat 4.8.2-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
# extension module loaded from '/usr/lib64/python3.3/lib-dynload/readline.cpython-33m.so' 
import 'readline' # <_frozen_importlib.ExtensionFileLoader object at 0x7f8a00fc1050> 
>>> from multiprocessing import Process 
# ./__pycache__/multiprocessing.cpython-33.pyc matches ./multiprocessing.py 
# code object from ./__pycache__/multiprocessing.cpython-33.pyc 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<frozen importlib._bootstrap>", line 1567, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 1534, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 586, in _check_name_wrapper 
    File "<frozen importlib._bootstrap>", line 1024, in load_module 
    File "<frozen importlib._bootstrap>", line 1005, in load_module 
    File "<frozen importlib._bootstrap>", line 562, in module_for_loader_wrapper 
    File "<frozen importlib._bootstrap>", line 870, in _load_module 
    File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed 
    File "./multiprocessing.py", line 1, in <module> 
    from multiprocessing import Process 
ImportError: cannot import name Process 

답변

21

라인 File "./multiprocessing.py"는 작업 디렉토리에 multiprocessing.py라는 이름의 파일이 있음을 시사한다.

실제 multiprocessing 모듈을 어둡게하기 때문에 제거/이름 바꾸기를 시도해보십시오. 여기서 문제는 sys.path의 첫 번째 항목이 항상 ''이므로 import을 수행 할 때 작업 디렉토리의 파일이 표준 모듈보다 우선되도록하는 것입니다.

+4

실패. 맞습니다. – user1876508

+4

같은 함정에 빠졌습니다 : D – Matej