.dot/.gv
pyreverse [옵션] <패키지>
<패키지>
는 단일 Python 모듈일 수도 있습니다. pyreverse -h
단일 패키지나 모듈로 제한하면 범위를 좁히는 데 도움이 되지만
, -c
옵션을 사용하면 특정 클래스와 그 협력자에 초점을 맞춘 클래스 다이어그램을 생성할 수 있습니다. pyreverse -ASmy -c pylint.checkers.classes.ClassChecker pylint
pylint.checkers.classes.ClassChecker.dot
파일을 추가로 생성합니다.experimental/global_mapper
패키지 안의 모든 모듈에 대한 클래스 다이어그램을 pyreverse와 Graphviz를 사용하여 생성하는 과정은 다음과 같습니다:pip install pylint graphviz
Graphviz가 설치되어 있지 않다면, 운영 체제에 맞는 Graphviz를 설치해야 합니다. 예를 들어, Ubuntu에서는 다음과 같이 설치할 수 있습니다:
sudo apt-get install graphviz
pyreverse
명령어를 사용하여, experimental/global_mapper
패키지 안의 모든 모듈에 대한 클래스 다이어그램을 생성할 수 있음 pyreverse -o png -p global_mapper experimental/global_mapper
-o png
옵션은 출력을 PNG 이미지로 지정합니다.-p global_mapper
옵션은 생성된 다이어그램의 이름experimental/global_mapper
는 분석할 패키지 경로classes_global_mapper.png
와 packages_global_mapper.png
파일이 생성 예를 들어, 다음과 같이 프로젝트 디렉토리 구조가 있다고 가정합니다:
my_project/
└── experimental/
└── global_mapper/
├── module1.py
├── module2.py
└── sub_package/
├── module3.py
└── module4.py
이 경우, my_project
디렉토리에서 다음 명령어를 실행하면:
pyreverse -o png -p global_mapper experimental/global_mapper
classes_global_mapper.png
와 packages_global_mapper.png
파일이 생성됩니다. 이 파일들은 experimental/global_mapper
패키지 내의 모든 모듈에 대한 클래스와 패키지 구조를 시각화한 다이어그램을 포함합니다.
필요에 따라 Pyreverse 명령어에 추가 옵션을 사용할 수 있습니다:
-A
: 모든 클래스 속성과 메서드를 포함합니다.-S
: 상속 관계를 포함합니다.-my
: 개인 메서드와 속성을 포함합니다.예를 들어, 모든 클래스 속성과 메서드를 포함한 다이어그램을 생성하려면 다음과 같이 실행할 수 있습니다:
pyreverse -o png -p global_mapper -ASmy experimental/global_mapper
이렇게 하면 더 자세한 다이어그램을 얻을 수 있습니다.
이 과정을 따라 experimental/global_mapper
패키지의 클래스 다이어그램을 생성하여 시각화할 수 있습니다.