- Python 에서 pickle 파일 open 시도할 때, 'module' object has no attribute ' ' error 가 발생하는 경우.
- Python pickle AttributeError 'module' object has no attribute 'foobar'
- Reference
- Python 에서 pickle 파일 open 시 error 발생시
- error 내용
'module' object has no attribute ' '
- 왜 이런 일이 발생할까나~?
- 기본적으로 pickle 에 저장시 __main__ 에서 바로 pickle 을 이용하여 데이터를 저장할 경우
- pickle 파일은 __main__ 이라는 name(이름) 과 파일을 저장할 당시의 데이터 구조 정보(ex. class 의 이름이라던가...) 를 가지게 되는데
- 이 pickle 파일을 저장하는 소스 코드를 가지고 있는 package 를 import 하여 다른 python code 에서 열려고 할 경우
- 다른 python code 에서는 pickle 파일을 열 때
- __name__ 이 아닌 package path 를 가지고 열려고 시도하게 된다.
- 이 때, 에러가 발생하게 되지요.
- 왜냐하면, 기존의 pickle 파일은 __main__ 이라는 정보를 가지고 있는데, 새로운 package path 를 가지고 열려고 하니,
- 이 정보를 기존의 pickle 파일이 가지고 있지 않으므로
- 'module' object has no attribute ' ' 와 같은 Error 가 발생하게 된다.
- 즉,
- data 정보를 가지고 있는 pickle 파일을 저장하는 시점의 정보와
- data 정보를 가지고 있는 pickle 파일을 open 하려 하는 시점의 정보가 다르면
- pickle 파일을 open 할 수 없다.
'Python > Study' 카테고리의 다른 글
| Python | Study | konlpy, nltk (0) | 2016.03.02 |
|---|---|
| Python | Study | Python variable scope (0) | 2016.01.28 |
| Python | Study | Weppy installation | Weppy 설치하기 (0) | 2016.01.22 |
| Python | Study | ipaddress 설치 (0) | 2016.01.22 |
| Python | Study | pytest 설치 및 사용법 (0) | 2016.01.22 |