python(17)
-
파이썬 ModuleNotFoundError: No module named 'attrs' 해결하기
파이썬 패키지 중 attrs는 다른 패키지에서 dependency로 많이 사용되는 패키지 같다. 얼마전에 한 패키지를 실행하는데, 개발환경에 attrs가 설치되어 있음에도 attrs가 없다는 메시지에 당황했다. 1. 상황 - attrs 패키지가 설치되어 있음에도, 패키지를 실행하면 attrs를 찾지 못한다는 에러 메시지 출력됨. ModuleNotFoundError: No module named 'attrs' 2. 해결방법 - 기존에 설치된 attrs의 설치가 비정상적이라고 생각하고, 패키지를 삭제하고 다시 설치해줬다. pip uninstall attrs pip install attrs 3. 결과 - 파이썬에서 attrs 패키지가 정상적으로 로드되고, 원래 실행하려던 패키지도 에러 없이 작동했다.
2023.01.09 -
python tqdm 상태바가 새 줄(new line)에 출력되는 현상이 반복될 때
1. 현상 tqdm은 for loop를 돌릴 때, 진행상황을 시각화해주는 유용한 패키지이다. 버젼이 업데이트 되면서 다양한 상황에서도 진행 status를 bar로 표시해주는데, 어떤 상황에서는 아래와 같이 bar가 증가하면서 새로운 줄이 지속적으로 추가된다. 사실 tqdm을 사용하는 이유 중에 하나가 이러한 상황을 피하기 위해서인데.. 동적으로 progress bar (상태진행바)가 올라가지 않고 새 줄이 계속 추가된다면 아래의 방법을 시도해볼 수 있다. 나의 경우 아래와 같이 tqdm을 로딩했는데 위 현상을 확인했다. from tqdm import tqdm 2. 해결방법 이럴 때는 아래와 같이 tqdm을 로드해보자. from tqdm.auto import tqdm progress bar의 스타일이 바뀌..
2023.01.05 -
python 패키지 dependecy 확인하기
파이썬 패키지를 관리하는 중에 특정 패키지에 어떤 dependencies들이 걸려있는지 궁금할 때가 있다. 이럴 때는 아래와 같이 확인한다. 1. pipdeptree 패키지를 설치한다. pip install pipdeptree 2. pipdeptree를 입력하여 설치된 전체 파이썬 패키지의 dependencies를 확인한다. pipdeptree 3. -p 옵션을 사용하여 특정 패키지의 dependencies를 확인한다. pipdeptree -p transformers
2022.11.26 -
python virtual environments 파이썬 가상환경 세팅 (설치, activate, deactivate, 제거)
python을 사용하다보면 dependecies 때문에 세팅하는데 시간이 걸리고, 시간이 걸려 세팅한 환경이 꼬이기 시작하면 답이 없다. 이를 대비하기 위해 파이썬 핵심 파일들만 공통으로 사용하고 코드마다 가상환경을 따로 설치하는 편인데, 아래는 파이썬을 활용한 가상환경 세팅 방법이다. 1. 파이썬 3.8에서 가상환경을 사용하기 위한 파일을 설치해준다. apt-get install python3.8-dev python3.8-venv 2. 실제 환경을 초기세팅하는 명령어이다. 동일한 가상환경을 계속 사용할 때까지는 더 이상 입력할 필요가 없지만.. 그래서 새로 가상환경을 만들 때 기억이 잘 안난다. ^^ python3.8 -m venv # python3.8 -m venv myVenv # python3.8이..
2022.11.18 -
Python Counter, sorted로 정렬하기
python을 사용할 때 자주 사용할 수록 괜찮은 함수 중 하나가 카운터라고 생각한다. 1. Counter 1-1. 기본 사용 방법 from collections import Counter x = Counter({'a':5, 'b':3, 'c':7}) 1-2. 빈도가 많은 element 부터 출력되도록 정렬 Counter.most_common() method 를 사용한다. from collections import Counter x = Counter({'a':5, 'b':3, 'c':7}) x.most_common() # [('c', 7), ('a', 5), ('b', 3)] 1-3. 가장 빈도가 많은 element 확인하는 방법 1번의 함수를 아래와 같이 1 이라는 입력인자를 줘서 최빈값을 출력하게 할..
2022.11.17 -
python 조합, 순열 (combinations, permutations), 프로덕트(product)
1. 패키지: itertools from itertools import combinations from itertools import permutations from itertools import product 2. 차이 - 대상 리스트가 1개일 경우: combinations, permutations를 사용 - 대상 리스트가 1개보다 많을 경우: product 3. 예제 - combinations(조합, 순서고려X), permutations(순열, 순서고려) items = [1, 2, 3, 4, 5] print(list(combinations(items, 2))) # [(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, ..
2022.09.30