[우분투/Ubuntu 20.04] 주피터 노트북 urllib3 & chardet 호환 문제 해결
주피터 노트북을 실행할 때 종속성 오류가 뜬다
패키지가 모두 최신이었음에도 왜 오류가 뜨는지 한참을 구글링해서 해결방법을 찾아냈다
오류내용)
RequestsDependencyWarning: urllib3 (1.26.0) or chardet (4.0.0) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported ")
urllib3랑 chardet 패키지가 서로 버전 호환이 안된다는 것 같은데 일단 이 패키지들이 뭔지 찾아봤다
PyPI에 따르면
urllib3 is a powerful, user-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries:
으로 설명이 나와있고,
파이썬에서 웹과 관련된 데이터를 쉽게 이용하도록 도와주는 라이브러리이고
chardet은 The Universal Character Encoding Detector로 문자열의 인코딩을 인식하는 라이브러리라는 것을 알 수 있었다
최신 버전은 PyPI에서 확인할 수 있다
urllib3 Release History : pypi.org/project/urllib3/#history
chardet Release History : pypi.org/project/chardet/#history
해결법은 두 라이브러리들을 호환될 때까지 한 단계씩 다운그레이드 해보는 방법이다
최신 버전 두개가 호환이 안되니....
다운그레이드 방법은 다음과 같다
릴리즈 된 버전들 하나하나씩 수작업으로 다운그레이드 했는데 결국 urllib3는 1.24.3 버전
chardet는 3.0.4 버전까지 가야 호환된다
-- 커맨드
urllib3 )
pip install --upgrade urllib3==1.24.3
chardet )
pip install --upgrade chardet==3.0.4 --use-feature=2020-resolver
--use부분은 pip가 dependency 충돌 문제를 해결하는 방법이므로 적어주지 않으면 에러가 발생한다
-----------------------여기는 선택사항--------------------
spyder 4.2.0 requires pyqt5<5.13, which is not installed.
spyder 4.2.0 requires pyqtwebengine<5.13, which is not installed.
이 오류가 발생하신 분들은
pip install --upgrade --user pyqtwebengine==5.15.2 --use-feature=2020-resolver
pip install PyQt5
pip install --upgrade setuptools --use-feature=2020-resolver
이렇게 해결하면 된다
---------------------------------------
이제 다시 jupyter notebook을 실행해보면 종속성 오류가 없어진 걸 확인할 수 있다