반응형

pythonerror 4

[python error] ImportError: cannot import name 'abc' from 'bson.py3compat'

MongoDB 라이브러리를 파이썬에서 사용할 경우 나타나는 에러이다. 만약에 bson 라이브러리와 pymongo 가 동시로 설치되어 있을 때 나타나는 에러인데, 파이썬이 3.7로 버전업이 되면서 bson 라이브러리의 기능을 자체지원하게 되었고 그렇기 때문에 pymongo 가 설치되면서 충돌을 일으키는 것이다. 그러기 때문에 bson 과 pymongo 를 지운 다음에 다시 pymongo 를 설치하면 웬만해서는 간단하게 해결이 가능하다 pip uninstall bson pip uninstall pymongo pip install pymongo 아래 내용 참고 stackoverflow.com/questions/60149801/import-error-importerror-cannot-import-name-abc..

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__ =='_..

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와 같이 뒤에 ' , '를 한경우 파이썬이 순간 이를 튜플로 인식을 해서 벌어지는 에러일 수 도 있습니다. 한번 자신이 친 코드 뒤에 버려진 ' , ' 이 없나 살펴보면 좋을 것 같습니다! ..

반응형