Python - 문서화 도구 Sphinx

Sphinx 는 python의 대표적인 문서화 도구로 reStructedText 또는 Markdown 문서를 HTML, pdf, man page 등의 결과물로 생성할 수 있다.

sphinx 설치

sphinx 는 python 환경에서 실행이 된다. 설치는 python 환경 혹은 OS 환경에 직접 설치하는 방법이 있다. 파이썬 가상환경을 권장한다.

https://www.sphinx-doc.org/en/master/usage/installation.html

- Python 환경에 설치

python 환경 혹은 python 가상환경 (venv, virtualenv 등)에 설치

pip

1
pip install sphinx

Anaconda

1
conda install sphinx

- 시스템에 직접 설치

각 OS 의 SW 로 설치한다면 package 관리자를 사용해 설치한다.

Debian/Ubuntu

1
apt install python3-sphinx

RHEL, CentOS

1
yum install python-sphinx

macOS / home-brew

1
brew install sphinx-doc

git 에서 줄바꿈 문제 - CRLF, LF

어느날 git 의 레포지토리의 파일이 모두 changed 상태로 보여 당황했다. 한 파일을 diff 로 보니 줄의 마지막에 ^M 이 보였다. 에디터가 OS에 따라서 LF 를 CRLF 로 바꿔서 보여주는 것이었다.

CRLF 상황

Linux 를 20.04 LTS 를 사용하다 os-release-upgrade 를 사용해서 22.04 LTS 로 업그레이드 했다.

그리고 한동안 다른 작업을 하다 소스를 다루게 되어서 윈도우 11에서 VS code 로 WSL의 우분투 폴더를 열어 보니 git 의 staging area 에 커밋할 파일이 엄청 들어와 있는 것이다. 찾다 보니 아래 그림 같이 줄바꿈 코드로 CRLR 로 인식을 한 것이다.

소스 파일을 수정할 일이 아니라서 검색을 좀 해보니 git 의 전역 설정에서 가능할 것 같았다. 다음 링크를 참조했다.

  1. https://stackoverflow.com/questions/28076760/git-add-adds-m-to-the-end-of-every-line
  2. https://github.com/Microsoft/WSL/issues/2318

git 전역 설정으로 autocrlf 를 활성화 한다. git 전역 설정에 다음 같이 autocrlf 를 true 지정하면 해결이 된다.

1
$ git config --global core.autocrlf true