Python에서 Graphviz 실행 파일을 찾을 수 없음 오류 해결

Olorunfemi Akinlua 2024년2월15일
Python에서 Graphviz 실행 파일을 찾을 수 없음 오류 해결

Graphviz는 그래프를 그리는 데 도움이 되는 오픈 소스 도구가 포함된 소프트웨어 패키지이며 Linux, Windows 및 macOS에서 사용할 수 있습니다.

Python 내에서 패키지와 함께 Graphviz 실행 파일을 사용하여 그래프를 생성할 수 있습니다. 그러나 사람들은 종종 다른 이유로 그것을 사용할 때 문제에 봉착합니다.

이 문서에서는 Python 스크립트를 실행할 때 Graphviz 실행 파일을 찾을 수 없습니다 오류를 해결하는 방법을 설명합니다.

Python에서 Graphviz 실행 파일을 찾을 수 없습니다 오류를 해결하려면 Graphviz를 설치하십시오.

오류를 해결하는 방법을 보여주기 전에 Graphviz Python 패키지를 사용하여 간단한 그래프를 생성하는 코드를 작성해 보겠습니다(Graphviz Python 패키지를 설치했다고 가정).

import graphviz

dot = graphviz.Digraph(comment="The Round Table")
dot.node("A", "King Arthur")
dot.node("B", "Sir Bedevere the Wise")
dot.node("L", "Sir Lancelot the Brave")
dot.edges(["AB", "AL"])
dot.edge("B", "L", constraint="false")
print(dot.source)
dot.render("doctest-output/round-table.gv", view=True)

위 코드의 출력:

// The Round Table
digraph {
    A [label="King Arthur"]
    B [label="Sir Bedevere the Wise"]
    L [label="Sir Lancelot the Brave"]
    A -> B
    A -> L
    B -> L [constraint=false]
}

Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\graphviz\backend\execute.py", line 81, in run_check
    proc = subprocess.run(cmd, **kwargs)
  File "C:\Python310\lib\subprocess.py", line 501, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Python310\lib\subprocess.py", line 969, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python310\lib\subprocess.py", line 1438, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "c:\Users\akinl\Documents\HTML\python\graphz.py", line 11, in <module>
    dot.render('doctest-output/round-table.gv', view=True)
  File "C:\Python310\lib\site-packages\graphviz\_tools.py", line 171, in wrapper
    return func(*args, **kwargs)
  File "C:\Python310\lib\site-packages\graphviz\rendering.py", line 122, in render
    rendered = self._render(*args, **kwargs)
  File "C:\Python310\lib\site-packages\graphviz\_tools.py", line 171, in wrapper
    return func(*args, **kwargs)
  File "C:\Python310\lib\site-packages\graphviz\backend\rendering.py", line 324, in render
    execute.run_check(cmd,
  File "C:\Python310\lib\site-packages\graphviz\backend\execute.py", line 84, in run_check
    raise ExecutableNotFound(cmd) from e
graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH

오류 메시지의 중요한 부분은 다음과 같습니다.

graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH

문제는 Graphviz 실행 파일이 Python 코드에서 사용할 수 없고 PATH 변수 내에 존재하지 않는다는 것입니다. PATH 변수를 사용하면 소프트웨어 실행 가능 디렉토리 이외의 모든 디렉토리에서 소프트웨어에 액세스할 수 있습니다.

따라서 Graphviz가 없다면 반드시 설치해야 합니다. 설치한 경우 시스템의 PATH에 추가해야 합니다.

결과적으로 Graphviz 코드를 성공적으로 실행하려면 두 가지가 필요합니다.

  1. 도서관
  2. 소프트웨어 자체

pip를 통해 이미 라이브러리가 있습니다.

pip install graphviz

Graphviz를 설치하려면 다운로드 페이지로 이동하여 각 OS에 대한 다운로드 지침을 따르십시오. Linux OS(예: Ubuntu, Fedora)의 경우 다음 명령을 사용할 수 있습니다.

sudo apt install graphviz
sudo yum install graphviz

macOS의 경우 다음 명령을 사용할 수 있습니다.

sudo port install graphviz

그러나 Homebrew가 설치되어 있으면 다음을 사용할 수 있습니다.

brew install graphviz

Chocolatey, Windows 패키지 관리자, Cygwin 또는 일반적인 Windows 패키지를 통해 Windows용으로 설치하는 방법과 프로세스는 다양합니다. 여기에서는 약 4.728MB인 [일반 설치 패키지](64비트 버전 5.0.0)를 사용합니다.

  1. 설치 파일을 열고 사용권 계약에 동의합니다.

    Graphviz 설정

  2. 시스템 PATH에 Graphviz를 추가합니다. 이는 코드를 작동시키는 데 매우 중요합니다. 작업 환경에 따라 모든 사용자 또는 현재 사용자에 대해 PATH 시스템을 추가할 수 있습니다.

    아래 이미지는 모든 사용자에 대해 선택합니다.

    설치 옵션

  3. 설치 위치를 선택하고 설치합니다.

    설치 위치 선택

Graphviz가 환경 변수 내에 있는지 확인하려면 다음 단계를 따르십시오.

  1. 환경 변수를 검색합니다.

    환경 변수 검색

  2. 강조 표시된 환경 변수 버튼으로 이동합니다.

    환경 변수

  3. 변수 이름이 Path인 강조 표시된 행으로 이동하여 두 번 클릭합니다.

    경로 선택

  4. 최근에 Graphviz를 설치한 경우 아래 이미지와 같이 설치 경로(강조 표시된 부분)를 끝까지 사용해야 합니다.

    환경 변수 편집

오류 메시지의 하위 부분인 “Graphviz 실행 파일이 시스템 경로에 있는지 확인하십시오"에서 제안한 대로 Graphviz가 시스템 경로 내에 있음을 확인했으므로 이제 IDE를 닫고 Graphviz 기반 코드를 다시 실행하십시오. .

오류가 발생한 이전에 실행한 코드는 이제 PDF를 렌더링하고 내보내야 합니다.

PDF 내보내기

그리고 출력물에 오류가 없어야 합니다.

// The Round Table
digraph {
    A [label="King Arthur"]
    B [label="Sir Bedevere the Wise"]
    L [label="Sir Lancelot the Brave"]
    A -> B
    A -> L
    B -> L [constraint=false]
}
Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

관련 문장 - Python Error