일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 고차함수
- slicing [::-1]
- S3
- 생각
- 쿼리
- decorator
- OS
- boto3
- timestamp
- functools.wraps
- 코딩 테스트
- selenium-wire
- pandas
- [초급(예비) 개발자 오픈소스 실무 역량강화 교육]
- os.path
- reverse v.s. reversed
- Python
- 순수함수
- Airflow
- sort(reverse=True) v.s. reverse
- blinker
- CI/CD
- sort v.s. sorted
- r-string
- 함수형 프로그래밍
- ds_store
- PIP
- Today
- Total
공부일지
[Python] 버전 충돌 해결을 위해 pip 패키지 전체 삭제하는 법 본문
작성일 2024-09-10
요약
문제
버전 충돌로 인해 설치하려던 패키지 일부가 누락됨.
원인
패키지 설치 명령어 복붙했다가 로컬 파이썬 버전이랑 안 맞아서였음.
해결
패키지 전체 삭제하고 다시 설치함.
공유
패키지 전체 삭제 pip를 이용해 간단히 하는 법
상황
Airflow를 로컬에 설치할 때 관련 패키지가 다 깔리지 않고
일부가 누락됐다.
버전충돌 때문이라고 짐작했다.
처음에 나는 로컬에 PyPI 기반으로 Airflow를 설치하고자 했다.
'Installation tools' 항목에 있는 코드를 입력했는데
문제는 여깄었다.
코드를 잘 보면 pip install 구문에 있는 Constraint URL 부분에
Python 버전이 들어가는데
(나는 앞에 에어플로 버전만 봤지 URL을 유심히 보지 않았었다.)
그게(3.8) 내 로컬 Python 버전(3.11)과 맞지 않아서
일부 패키지가 완전히 설치되지 않는 문제가 생겼던 것이다!
애초에 Constraint URL에 파이썬 버전이 적혀있는지를 알았거나,
아니면 범용적으로 리눅스 변수를 통해 로컬 파이썬 버전을 자동으로 입력해주는
'Installation and upgrade scenarios' 항목의 설치 코드를 입력했어야 했다.
Installation tools 항목 설치 코드
pip install "apache-airflow[celery]==2.10.1" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.1/constraints-3.8.txt"
Installation and upgrade scenarios 항목 설치 코드
AIRFLOW_VERSION=2.10.1
# Extract the version of Python you have installed. If you're currently using a Python version that is not supported by Airflow, you may want to set this manually.
# See above for supported versions.
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
# For example this would install 2.10.1 with python 3.8: https://raw.githubusercontent.com/apache/airflow/constraints-2.10.1/constraints-3.8.txt
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
해결방법
시도1
문제 있는 특정 패키지만 다운 그레이드 한다.(or vice versa: 문제 없는 패키지만 업그레이드 한다.)
시도2
그냥 밀고 다시 깔기로 한다.
전체 삭제하는 방법은 아래와 같다.
- requirements.txt로 현재 환경에 설치된 패키지 목록을 뽑아준다.
pip freeze >> requirements.txt
- requirements.txt를 이용해, 현재 환경에 설치된 패키지 전체를 삭제한다.
pip uninstall -r requirements.txt -y
option description
-r: remove(삭제)
-y: yes!(할거냐? 예쓰!)
3. 패키지 재설치
그 다음에 다시 튜토리얼 'Installation and upgrade scenarios'에 있는
범용 가능한 명령어로 다시 패키지를 설치해준다.
돌아보며
아니 상식적으로 뒤에 3.8 숫자만 보고 파이썬 버전일 줄 누가 알았겠냐고..!
말하고 싶지만
앞으로는 튜토리얼에 있는 코드라고 바로 적용하지 말고
버전같은 상수가 있는지 확인하도록 하자.
'Computer > Trouble Shooting' 카테고리의 다른 글
[Python][MySQL] SQL query 전달 시 주의사항 feat. REGEXP (1) | 2024.10.01 |
---|---|
[Python] Pandas Timestamp 관련 자주 쓰일 3가지 (0) | 2024.09.22 |
[Python]selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable (0) | 2023.09.13 |
[Python]TypeError: expected string or bytes-like object, got 'NoneType' (0) | 2023.09.13 |
[Mac]Bash: /경로/경로/ : is a directory 에러 (0) | 2023.09.12 |