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

Jekyll Install

이 글은 github pages 를 통해서 블로그를 할 수 있도록 다음 작업을 한다:

  • 로컬에 ruby를 기반으로한 jekyll 을 설치한다.
  • markdown 으로 작성한 문서를 github pages 에 올린다.

jekyll

jekyllrb.com 의 가이드에 따라 github page에서 블로그로 사용하고자 한다.

자세히 보기

Python - Build python source

2015년 쯤 작성한 것으로 Raspberry Pi, Orange Pi, Odroid SBC 보드에서 3.4를 빌드했다. 2017년 현재 배포본, Debian Jessie, Ubuntu Xeniel 등은 3.4, 3.5가 내장되어 배포되고 있다.
Python 3.6 이상 최신 소스를 빌드하는데 참고할 수 있다.

Build Python 3.4

Raspbian Wheezy에는 3.2가 설치되어 있다. Jessie 가 출시된 이후에 3.2에 대한 모듈 의존성 관리가 되지 않고 있어서 3.4 이상이 설치가 필요하다.

SSL/TLS 지원을 하기 위해 libssl, openssl 라이브러리를 설치한다.

1
2
$ sudo apt update
$ sudo apt install libssl-dev openssl

Python3.4를 다운로드하고 컴파일하고 설치한다.
Raspbian Weezy 에는 Python3.2가 있어서, 최신 3.4를 설치하려면 다운로드해서 컴파일 하면 된다.

1
2
3
4
$ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
$ tar xvzf Python-3.4.3.tgz
$ cd Python-3.4.3/
$ ./configure

Raspberry Pi 2에서 빌드시 꽤 많은 시간을 사용한다.

1
2
3
4
5
$ ./configure
...
real 2m16.512s
user 1m16.360s
sys 0m20.630s

컴파일하고 빌드시 한 시간 이상 필요하다.

1
2
3
4
5
6
$ make                  # 한 시간 소요
$ sudo make install
...
real 16m40.747s
user 15m51.550s
sys 0m24.030s

크로스컴파일 환경을 사용할 수 있다.