본문 바로가기
소프트웨어 마에스트로/문서 작업 | 독서

[문서] 중간평가 준비하기

by alpakaka 2024. 8. 17.

오늘은 중간평가를 준비했다.

오늘 안에 1차적인 모든 보고서 및 ppt를 만들것이다.

왜냐하면 내일 마감 비슷하게 하기 때문이다.

 

보고서를 얼른 썼다..

 

보고서에서 ERD 필요해서 얼른 만들었다.

저번에 멘토님께서 알려주신 django 에서 바로 ERD 만들기가 생각나서 참고했다.

일단 처음에 참고한 블로그이다.

 

https://velog.io/@yeop/Django-model-graph-%EC%B6%9C%EB%A0%A5

 

Django model graph 출력

협업은 문서화다. 그 문서화 중 erd를 쉽게 그려주는 graphviz를 소개하려고 한다.

velog.io

 

근데 나는 약간 다른 방식으로 진행했다.

 

brew install graphviz

일단 graphviz를 brew 로 다운로드 받아준다.

그 다음 블로그에 나온대로 requirements_graph.txt를 만들고 안에 내용을 넣었다.

django-extensions
pyparsing
pydot
pygraphviz
Pillow

넣어준 뒤에 pip install -r requirements_graph.txt 를 진행했는데

pygraphviz 에서 오류가 발생했다.

clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -DSWIG_PYTHON_STRICT_BYTE_CHAR -I/Users/jiusong/Programming-test/pyenv/include -I/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include/python3.12 -c pygraphviz/graphviz_wrap.c -o build/temp.macosx-14.0-arm64-cpython-312/pygraphviz/graphviz_wrap.o
      pygraphviz/graphviz_wrap.c:9:9: warning: 'SWIG_PYTHON_STRICT_BYTE_CHAR' macro redefined [-Wmacro-redefined]
      #define SWIG_PYTHON_STRICT_BYTE_CHAR
              ^
      <command line>:2:9: note: previous definition is here
      #define SWIG_PYTHON_STRICT_BYTE_CHAR 1
              ^
      pygraphviz/graphviz_wrap.c:3023:10: fatal error: 'graphviz/cgraph.h' file not found
      #include "graphviz/cgraph.h"
               ^~~~~~~~~~~~~~~~~~~
      1 warning and 1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pygraphviz
Failed to build pygraphviz
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pygraphviz)

사실 brew 하기 전에 pip install 을 먼저 하려해서 뭔가 꼬인 것 같다.

오류 메세지를 살펴보니 주소를 잘못찾고 있길래 변경해줬다.

export CFLAGS="-I/opt/homebrew/include"
export LDFLAGS="-L/opt/homebrew/lib"

 그 후에 pip install 을 해주고 

settings.py 파일을 변경해주었다.

INSTALLED_APPS = [
    'django_extensions',
]

이것만 추가해준 뒤에 바로 모델 다이어 그램을 생성해주었다.

 

python manage.py graph_models -a -o myapp_models.png

이 명령어의 결과물

 

지피티가 여러가지 알려줘서 필드포함한 것 까지 해봤다.

python manage.py graph_models -a -g -o myapp_models.png

결과물

뭔가 줄이 늘었다.

 

그리고 특정 앱만 하고 싶다면 

python manage.py graph_models myapp1 myapp2 -o myapps_models.png

 

 

특정형식을 원한다면

python manage.py graph_models -a -o myapp_models.pdf

 

등등이 있었다.

 

보고서에 잘 넣어야지..

 

내일은 보고서 첨삭해야지...