반응형

error 78

python error: do_this( ) takes 1 positional argument but 15 were given

해당 에러는 파이썬에서 나타나는 전달된 인자 갯수와 관련된 에러타입이다 함수는 위치 인자를 1개 취하는데, 이 개수보다 많은 인자가 위치 인자로 전달되었거나, 특정하게 지정되지 않은 인자가 전달되지 않았을 때 나타나는 에러이다. 이 상황은 주로 2가지 상황에서 나타나는 것 같은데.. 첫번째는 class 함수에 self 가 들어가지 않았을 때 위 첫번재 에러의 경우에는 아직 코드로 구현을 하지 않아서 . 나중에 참고하기 위해 링크를 남겨둔다 https://stackoverflow.com/questions/23944657/typeerror-method-takes-1-positional-argument-but-2-were-given TypeError: method() takes 1 positional argu..

python error: The "freeze_support()" line can be omitted if the program is not going to be frozen to produce an executable.

위 에러는 multiprocessing 을 실행할 때, if __name__ == '__main__': 과 freeze_support( ) 를 사용하지 않고 실행했을 때 나타나는 에러이다. 우선 if __name__ == '__main__' 의 경우에는 이미 실행된 함수가 다른 객체에 할당되어 실행될때, 이전의 내용과 중복되어 실행되는 것을 막아주는 기능을 하는데 중복/반복을 막아 자원이 중복 사용되는 것을 막아주는 함수이다. 그리고 freeze_support( ) 의 경우에는 파이썬 multiprocessing 이 윈도우에서 실행될 경우, 자원이 부족할 경우를 대비해 파일 실행을 위한 자원을 추가해주는 역할을 하는 함수이다 그리고 효율 적인 자원 사용과 중복 방지를 위하여 if __name__ =='_..

프로젝트 주의 사항3: cloudera 설치 후 발생할 수 있는 문제들 정리1 : DNS 문제, 구성(메모리 할당) 문제

클라우데라의 문제는 색깔 기준으로 2개로 섹션이 나뉜다. 우선 구성에 들어가 해결할 수 있는 문제들을 해결한다. 1. 빨간색(모든 상태 문제) - DNS 문제(DNS 관련 문제 가 있다고 계속 뜸) allias 로 기입을 했지만, allias 를 통한 노드 이름을 식별하지 못하는 것이기 때문에 나타나는 문제이다 이럴때는 putty 로 연결되어 있는 노드들에 들어가 노드의 이름을 allias 에서 본래 이름으로 바꾸어 준다. 그 이후에, cloudera-scm-agent / server / server-db 등을 다시 시작해 준다음에 재 로그인해주면 된다. 참고로, ssh 를 써주면 node1 에서 node2로 잠시 접속을 갈아타 일일히 가상환경을 키지 않아도 노드들의 이름을 바꾸어 줄 수가 있으므로 편하..

python error L “TypeError: __str__ returned non-string” but still prints to output?

__str__ 는 특수 메서드 중 하나입니다. class Element(): def __init__(self, name, symbol, number): self.name = name self.symbol = symbol self.number = number def __str__(self): print("name:{0} symbole:{1} number:{2}".format(self.name, self.symbol, self.number)) 특수 메서드는 print 가 아닌 return 으로 값을 받아줘야 에러없이 출력이 되는데 위 에어는 print( ) 로 값을 받아서 생긴 에러였네요 print( ) --> return 으로 해야합니다. class Element(): def __init__(self, n..

python error : __init__() missing 1 required positional argument:

아... 너무 쪽팔리는 에러를 만났네여.. 함수를 만들어 놓고도.. 안에 값을 넣지 않아서.. 저런 에러를 만나고 30분을 고민햇다니..!!!으!!! 일단 에러를 낸것이니 기록! class Thing(): def __init__(self, example): self.example = example thin = Thing(#이 부분이 문제였음) 위에 class 를 만들어주고 이를 thin 이라는 객체에 담아주었는데 __init__ 라는 초기화 함수를 써주었는데요. 처음에는 이해가 안되었지만, 이 에러를 풀고 원인을 공부하는 과정에서 이 함수를 왜 쓰는지 짐작을 할 수 있게 된 것 같네요 __init__ 는 초기화 함수라고 해서 객체를 만들때마다 클래스를 초기화해서 새것처럼 사용할 수 있게 만들어줍니다.. ..

파이썬 에러 : 'tuple' object has no attribute 'get'

해당 에러같은 경우에는 튜플을 받지 않는 함수를 만들거나 일부 라이브러리에서 발생할 수 있는 에러입니다. 이 에러가 뜨면.. 내가 코드를 친 어딘가에 튜플을 만들어 주었구나 라고 의심을 하시고 코드를 잘 살펴보는 게 중요한데요... # 튜플을 만들수 있는 방법 2가지 tuple_01 = (1,2,3) tuple_02 = 1,2,3, # 파이썬은 ( )를 안하고도 튜플을 만들 수 있기 때문에 # ( )를 안했는데 뒤에 ' , '를 한 부분이 있다면 이를 튜플로 # 인식할 가능성이 좀 있으니 주의해야합니다 tuple_02와 같이 뒤에 ' , '를 한경우 파이썬이 순간 이를 튜플로 인식을 해서 벌어지는 에러일 수 도 있습니다. 한번 자신이 친 코드 뒤에 버려진 ' , ' 이 없나 살펴보면 좋을 것 같습니다! ..

python error : "<stdin>", line1, in <module> IndexError: list index out of range

파이썬 에러 중에서 입력한 값이 인덱싱의 범위를 벗어났을 때 위 에러가 발생한다. 리스트의 인덱싱은 값을 할당한 위치에 맞게 입력되어야 하는데, 오프셋의 위치가 리스트의 범위를 벗어날 경우에 예외(에러)가 발생한다. >>> marxes = ['grou','efa','aefaf'] >>> marxes[0] 'grou' >>> marxes[-1] 'aefaf' >>> marxes[5] Traceback (most recent call last): File "", line 1, in IndexError: list index out of range 참고참고

파이썬 에러: ValueError: invalid literal for int() with base10: '4.3'

우선 파이썬을 다시 복습하면서. 나오는 에러들은 기본적으로 정리를 해야겟다고 생각이 든다 특히 기본적으로 형변환을 할 때 가장 많이 만나는 에러인 "ValueError: invalid literal for int() with base10: " 에러인데 해당 에러는 int(), float(), str(). boolean() 등에서 원하는 형이 들어오지 않았을 때 에러를 알려준다 >>> e = '7.23' >>> type(e) >>> int(e) Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '7.23' 변수 'e' 에는 실수 '문자열'을 넣어주었다 type()을 ..

반응형