에러 예시
이전에 작성한 파이썬 패키지 전체 업데이트 코드를 실행했는데 다음과 같은 메세지가 노출되는 것을 확인했다.
package.key='tqdm'
package.version='4.64.1'
"C:\Program Files\Python311\python.exe" -m pip install tqdm --upgrade
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: tqdm in c:\users\user1\appdata\roaming\python\python311\site-packages (4.64.1)
Collecting tqdm
Using cached tqdm-4.65.0-py3-none-any.whl (77 kB)
Requirement already satisfied: colorama in c:\users\user1\appdata\roaming\python\python311\site-packages (from tqdm) (0.4.6)
Installing collected packages: tqdm
Attempting uninstall: tqdm
Found existing installation: tqdm 4.64.1
Uninstalling tqdm-4.64.1:
Successfully uninstalled tqdm-4.64.1
WARNING: The script tqdm.exe is installed in 'C:\Users\user1\AppData\Roaming\Python\Python311\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pyppeteer 1.0.2 requires pyee<9.0.0,>=8.1.0, but you have pyee 11.0.0 which is incompatible.
pyppeteer 1.0.2 requires websockets<11.0,>=10.0, but you have websockets 11.0.3 which is incompatible.
Successfully installed tqdm-4.65.0
(44/85)
package.key='urllib3'
package.version='2.0.3'
"C:\Program Files\Python311\python.exe" -m pip install urllib3 --upgrade
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: urllib3 in c:\users\user1\appdata\roaming\python\python311\site-packages (1.26.16)
Collecting urllib3
Obtaining dependency information for urllib3 from https://files.pythonhosted.org/packages/8a/03/ad9306a50d05c166e3456fe810f33cee2b8b2a7a6818ec5d4908c4ec6b36/urllib3-2.0.3-py3-none-any.whl.metadata
Using cached urllib3-2.0.3-py3-none-any.whl.metadata (6.6 kB)
Using cached urllib3-2.0.3-py3-none-any.whl (123 kB)
Installing collected packages: urllib3
Attempting uninstall: urllib3
Found existing installation: urllib3 1.26.16
Uninstalling urllib3-1.26.16:
Successfully uninstalled urllib3-1.26.16
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pyppeteer 1.0.2 requires pyee<9.0.0,>=8.1.0, but you have pyee 11.0.0 which is incompatible.
pyppeteer 1.0.2 requires urllib3<2.0.0,>=1.25.8, but you have urllib3 2.0.3 which is incompatible.
pyppeteer 1.0.2 requires websockets<11.0,>=10.0, but you have websockets 11.0.3 which is incompatible.
Successfully installed urllib3-2.0.3
해결방법
애당초 에러가 아닌 알림 메시지다.
에러가 발생한 것이 아니기 때문에 해결해야하는 문제가 아니다.
단, 환경에 따라 향후 모듈 사용에 문제가 있을 수 있다.
설명
에러 문구가 붙은 메세지를 단순 번역해보면 다음과 같은 뜻임을 알 수 있다.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
>> 오류: pip의 종속성 해결 프로그램은 현재 설치된 모든 패키지를 고려하지 않습니다. 이 동작은 다음과 같은 종속성 충돌의 원인입니다.
말 그대로 현재 패키지를 업데이트한 것으로 인해 해당 패키지를 참조하던 다른 패키지를 사용할 때 문제가 생길 수 있다는 알림 메세지다.
가령 tqdm 모듈의 경우 다음과 같은 종속성 알림이 출력되었는데,
pyppeteer 1.0.2 requires pyee<9.0.0,>=8.1.0, but you have pyee 11.0.0 which is incompatible.
위 메세지는 pyppeteer 1.0.2는 pyee의 버전이 8.1.0 이상, 9.0.0 미만인 환경을 기준으로 작성되었지만 내 환경에서는 pyee 11.0.0을 사용하고 있다고 경고를 주고 있다.
만약 pyee 11.0.0에서 pyppeteer 1.0.2를 호환하지 않는다면 이후 모듈 사용에 문제를 겪을 수 있다.
만약 모듈 사용이 불가능한 문제가 발생했다면 2가지 방법을 선택할 수 있다.
- 문제가 발생하는 모듈을 호환되는 버전으로 업데이트한다.
- 기존 모듈을 제거한 다음, 모듈 버전을 지정해서(pyee의 경우 8.1.0 이상, 9.0.0 미만) 다시 설치해준다.
그러나 보통 정상적으로 사용이 가능하기때문에 그런 문제를 겪을 일은 흔치 않다.