내가 보려고 적은 것이기 때문에 친절하지 않다는 것을 감안해주길 바란다.
vscode
도 python을 사용할 때 쓸 수 있는 좋은 선택지 중 하나이다. 하지만 뭔가 더 전문가스럽고, 기본 세팅이 잘되어 있는 IDE를 찾는다면 pycharm
은 좋은 선택지이다.
vscode
와 달리, pycharm
은 유료/무료 버전이 나뉘어 있지만 무료버전도 꽤 쓸만하다.
의존성을 기기(PC) 내 전역으로 관리하지 않는다면, venv
라는 가상환경을 만들어 사용해봤을 것이다.
이는 매번, source ./venv/bin/activate
하는 것이 번거롭게 느껴졌다면 pipenv
혹은 poetry
는 좋은 선택지가 될 것이다. - 이 글에서는 poetry
에 대해 다루지 않는다 - 그 중 나는 pipenv
를 사용하고 있다.
pipenv
에서는 가상환경을 시작할 때, pipenv shell
이라는 명령어를 이용해서 가상환경을 호출한다. 만약 python 버전을 정한 가상환경을 만들고 싶다면, pipenv --python <version>
을 통해 버전을 명시할 수 있다.
또한 별도의 requirements.txt
를 만들지 않아도 알아서 버전 리스트를 작성해 관리하는데, Pipfile
이라는 파일이 생긴다. 아래는 내가 생성한 가상환경의 Pipfile
이다:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "*"
[dev-packages]
black = "*"
[requires]
python_version = "3.9"
만약에 requirements.txt
라는 파일이 필요하다면, pipenv lock -r > requirements.txt
라고 입력해보자. requirements.txt
가 아래처럼 생길 것이다:
#
# These requirements were autogenerated by pipenv
# To regenerate from the project's Pipfile, run:
#
# pipenv lock --requirements
#
-i https://pypi.org/simple
asgiref==3.5.0; python_version >= '3.7'
django==4.0.1
sqlparse==0.4.2; python_version >= '3.5'
Pipfile
과 requirements.txt
의 내용을 보면 의존성이 다르게 표시된다는 것을 알 수 있다. black
에 대한 의존성이 표시되지 않았다.
black
의 개발 의존성으로 release되는 제품에 필요하지 않은 의존성이기 때문에 제외되었다.
prettier
같은 formatter가 python 진영에 있다면 얼마나 좋을까?
prettier
와 완전히 같다고 할 수는 없지만, black
을 사용하면, 많은 도움이 될 것 이다.
별도의 설정파일로 관리하고 싶다면, pyproject.toml
이라는 파일을 만들어서 사용할 수 있다.
[tool.black]
line-length = 88
target-version = ['py37']
include = '\.pyi?$'
extend-exclude = '''
# A regex preceded with ^/ will apply only to files and directories
# in the root of the project.
^/foo.py # exclude a file named foo.py in the root of the project (in addition to the defaults)
'''
poetry는 pipenv
보다 더 넓은 기능을 지원하는 것 같다. 나중에 써보려고 하는데, 아직은 pipenv
의 불편한 점을 느끼지 못했다.
vscode
에서 python project 만들면 매번 물어보는 yapf쓸거니? black
쓸거니?
혹시 아직도 print()
로 로깅을 한다면, 아직 Logger에 대해 생소할지도 모르겠다.
여기서 소개하는 내용은 logger에 대한 내용이다.
loguru는 로깅을 쉽게해주는 라이브러리다.
loguru
는 저장소 설명에도 써있듯이 사용하기 정말 너무나 쉽다.
Python logging made (stupidly) simple
Python3 프로젝트에서 사용하기 좋은 라이브러리들에 대해 다뤄봤다.
도움이 되었으면 좋겠다. 그럼 20000
내가 쓰고 내가 제일 많이 보는 것 같다.