2015-02-04 7 views
0

이 문제는 random.py라는 자체 정의 파이썬 파일이 있음을 알 수 있습니다. 나는 그것을 찾았고, 그런 이름의 파일이 없으며,이 이름을 가진 "pyc"파일도 없다.Python : AttributeError : 'module'객체에 'randrange'속성이 없습니다.

나는 또한 터미널에서 명령을 입력 해 보았습니다. 제대로 작동하는 것 같습니다! 하지만 파일을 컴파일하려고하면 작동하지 않습니다!

어떤 문제일까요?

감사합니다.

import csv 
import random 
from numpy import * 
from scipy.stats import norm 

.... 

index = random.randrange(length) 

... 
+0

파일을 컴파일 하시겠습니까? 모듈 이름을 변경하고 변경 사항이 있는지 확인하려고 시도 했습니까? – nbro

답변

4

첫째, 당신은 일반적인 원칙에 이렇게 안 : 매우 다르게 행동 numpy 버전 anyall 같은 많은 내장 기능을 그림자

from numpy import * 

합니다. 주요 random 모듈 그림자 된 numpy.random이 때문에 그러나이 경우, 그것은 또한 다른 문제를 일으키는 : 여담으로

>>> import random 
>>> random 
<module 'random' from '/usr/lib/python3.4/random.py'> 
>>> from numpy import * 
>>> random 
<module 'numpy.random' from '/usr/local/lib/python3.4/dist-packages/numpy/random/__init__.py'> 

주 당신은 np.random를 사용하여, 많은 난수를 생성 할 거라면 random 대신에 더 빠를 것 같습니다. (import numpy as np은 표준 문자 저장 별칭입니다.)

+0

고마워! 문제가 해결되었습니다! – RNK

+0

그래, 만약 그가'numpy import *'를하려고한다면 내장 함수의 이름을 먼저 바꾸어야한다. – user3467349

1

모듈에서 모든 것을 가져 오는 것은 좋지 않습니다. 이 경우 numpy는 임의적으로 간섭하는 것으로 보입니다. 내가

import numpy 

from numpy import * 

을 변경할 때 스크립트가 실행됩니다. 이것은 개입 코드에서 numpy에서 사용중인 것을 참조하도록 요구합니다.

관련 문제