2014-12-11 3 views
1
from random import randint 

이것은 임의 모듈을 가져 오는 데 사용한 코드입니다. 코드를 실행하면 대신 random.py이라는 코드 테스트 용 파일을 가져옵니다. 이 오류가 모든 종류의로 이어지는, 그래서 나는 '영구적'휴지통에서 삭제 된 모든 그것의 바로 가기를 나는 아직도 어딘가에있다 find.Yet 수 있으며,이 errors.My 전체 프로그램이Python 모듈 오류 : Randint

x = randint(1, 100) 
if x % 2 == 0: 
    b = 'c' 
에 따라 발생

내가 만들고있는 게임은 무작위로 배와 잠수함을 만드는 데 randint에 의존합니다. 내가 윈도우 7을 실행하고

감사

답변

3

파이썬은 가져 각 파이썬 모듈에 대한 바이트 코드 캐시를 생성; 파이썬 2의 경우 확장자가 .pyc 인 원본 파일과 같은 이름이 사용됩니다. 소스 .py이 삭제 된 경우에도 random을 가져올 때 가져 오는 파일입니다.

사용 :

import random 
print(random.__file__) 

이 오래된 random.pyc 바이트 코드 파일을 찾아 삭제합니다.

파이썬 3에서 이러한 파일은 일반적으로 __pycache__이라는 하위 디렉토리에 저장되지만 해당하는 .py 소스 파일이 없으면 무시됩니다. Bytecode 파일 만 배포하려는 사람들은 (예를 들어, 상용 소프트웨어 배포에서 코드를 난독 화하기 위해) compilall script with the -b switch을 사용해야합니다. 거의 확실하게하지 않았습니다.

1

동일한 폴더 (Python 2.x) 또는 __pycache__ (3.x)이라는 하위 디렉토리에 random.pyc 파일이 있습니다.

+0

해당'.py' 파일이 없으면'__pycache__'의 파일은 무시됩니다. –

+1

[PEP 3147] (https://www.python.org/dev/peps/pep-3147/)을 참조하십시오. * py 소스 파일이 없으면 \ _ \ _ pycache__ 내부의 pyc 파일은 무시됩니다. 이것은 의도하지 않은 오래된 pyc 파일 가져 오기 문제를 제거합니다. * –

+0

허. 그들은 내가 생각했던 것보다 더 많은 것을 향상시켰다. :) –