어떤 프로젝트를 실행하는 데에 필요한 라이브러리들을 버전과 함께 requirements.txt 파일에 적어두고, $ pip install -r requirements.txt 명령어를 수행하면 해당 파일 내에 적힌 라이브러리들을 일괄 설치할 수 있다. 이 명령어는 default로 PyPI url로부터 라이브러리를 설치한다. 그런데, 가끔 어떤 라이브러리는 PyPI가 아닌 특정한 url로부터 설치해야 하는 경우가 있다. 나의 경우는 paddlepaddle 라이브러리를 설치하는 과정에서, $ pip install paddlepaddle로 설치를 하면 실행 중에 에러가 나고 $ pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple 로 설치를 해야 잘..
paddlenlp.metrics에 있는 모듈을 사용하려는데, 항상 설치 과정에서 에러가 발생했다. 중국에서 만든 라이브러리다보니 관련 문서들이 대부분 중국어로 되어있고, 주기적인 문서 업데이트가 안 되고 있는 것 같아 정리한다. paddlenlp 공식 문서에 따르면, paddlenlp를 설치하는 명령어는 다음과 같다. $ pip install --upgrade paddlenlp>=2.0.0rc -i https://pypi.org/simple # $ pip install --upgrade paddlenlp>=2.0.0rc과 동일 문서에서는 paddlenlp만 설치하면 되는 것처럼 나와있지만 실제로 해보면 "No module named 'paddle'" 에러 메시지가 출력된다. paddle 모듈을 설치하기 ..
'main.py'라는 파일이 있을 때, 이 파일을 통째로 import하려면 다음과 같이 작성하면 된다. import main 그런데 'main 2.py'나 'main-2.py'와 같이 공백이나 특정 기호가 있는 파일은 위 방법대로 import하면 syntax error가 발생한다. 이럴 때는 importlib 모듈을 사용하면 된다. import importlib main = importlib.import_module('main 2') main = importlib.import_module('main-2')
파일 읽기 import json with open('파일 경로', 'r', encoding='utf-8') as f: json_dicts = json.load(f) 파일 쓰기 import json with open('파일 경로', 'w', encoding='utf-8') as f: # json.dump(json_dicts, f) # 기본 사용법 json.dump(json_dicts, f, ensure_ascii=False, indent='\t') 한글이 포함된 경우, ensure_ascii=False를 설정해주면 유니코드로 변환해 저장하지 않고 한글 형태 그대로 저장할 수 있다. indent='\t'를 써주면 가독성이 좋도록 들여쓰기하여 파일을 저장할 수 있다. 더보기 참고 링크 https://devpo..
우선 conda 가상환경을 만들었다고 가정한다. 만들어둔 conda 가상환경을 jupyter notebook에서도 사용하고 싶을 때는 커널(kernel)을 추가하면 된다. 아래 커맨드를 프롬프트 창에서 실행한다. 1. 가상환경 활성화 conda activate 가상환경이름 2. ipykernel 라이브러리 설치 conda install ipykernel 3. 커널 추가 python -m ipykernel install --user --name 가상환경이름 --display-name 커널이름 --display-name에는 jupyter notebook에 추가할 커널 이름을 써주면 된다. 나는 가상환경 이름과 동일하게 설정했다. 4. jupyter notebook에서 확인 jupyter notebook을 새..
사용중인 환경이 python 2 버전이어서 3에서 내장되어있는 venv 를 사용할 수 없는 상황이다. virtualenv 를 통해 가상환경을 사용해야하므로 설치를 먼저 해준다. python -m pip install --user -U virtualenv $ apt install virtualenv 를 실행했을 때는 권한 문제로 (내가 root가 아님) 설치가 안되었었는데, 위 커맨드로 실행하면 설치가 된다. cd 작업디렉토리 virtualenv 가상환경이름 # 가상환경 생성 source 가상환경이름/bin/activate # 가상환경 활성화 완료!
tqdm으로 프로그레스 바를 정상적으로 나타내려면, tqdm으로 감싸는 값이 __len__()을 가져야한다. tqdm(enumerate(리스트)) # wrong tqdm(zip(리스트1, 리스트2)) # wrong tqdm(enumerate(zip(리스트1, 리스트2))) # wrong enumerate()와 zip()는 __len__()을 갖지 않기 때문에, 위 케이스들처럼 사용하면 프로그레스 바가 정상적으로 나타나지 않는다. enumerate(tqdm(리스트)) zip(tqdm(리스트1), 리스트2) enumerate(zip(tqdm(리스트1), 리스트2)) 위와 같이 길이 값을 얻을 수 있는 리스트에 직접 씌워서 사용해야 한다. zip을 사용하는 경우에는 리스트1과 리스트2의 길이가 같으므로 리스트..