해결됨 - Python.h: C++에 이러한 파일 또는 디렉토리가 없음

Jay Shaw 2023년10월12일
  1. C++에서 'Python.h': No such file or directory 오류의 원인
  2. C++에 코드를 포함할 수 있는 Python 설치
  3. IDE의 Include 및 링커에 Python 경로를 추가하는 단계
  4. Include 및 링커에 Python 경로 추가
  5. C++로 Python 코드 작성 및 컴파일
  6. 결론
해결됨 - Python.h: C++에 이러한 파일 또는 디렉토리가 없음

이 문서에서는 'Python.h': No such file or directory 오류를 해결하는 방법을 설명합니다. 이것은 일반적으로 C++에 Python 코드를 포함하려고 시도하지만 컴파일러가 시스템 내에서 Python에 대한 참조를 찾을 수 없을 때 발생합니다.

C++에서 'Python.h': No such file or directory 오류의 원인

다음은 Python 코드를 사용하는 C++ 프로그램입니다.

#include <Python.h>
#include <conio.h>
#include <stdio.h>

int main() {
  PyObject* pInt;

  Py_Initialize();

  PyRun_SimpleString("print('Hello World from Embedded Python!!!')");

  Py_Finalize();

  printf("\nPress any key to exit...\n");
  if (!_getch()) _getch();
  return 0;
}

이 프로그램을 컴파일하면 'Python.h': No such file or directory 오류가 발생합니다.

Build started...
1>------ Build started: Project: Python into Cpp, Configuration: Debug x64 ------
1>1.cpp
1>C:\Users\Win 10\source\repos\Python into Cpp\1.cpp(3,10): fatal error C1083: Cannot open include file: 'Python.h': No such file or directory
1>Done building project "Python into Cpp.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

여러 가지 이유로 'Python.h': No such file or directory 문제가 발생합니다.

  1. 시스템 내부에 Python이 설치되어 있지 않습니다.

    Python은 표준 Windows 및 C++ 컴파일러 설치와 함께 제공되지 않는 타사 엔터프라이즈 소프트웨어입니다. 올바른 설정으로 설치하고 C++ 컴파일러에 연결해야 합니다.

  2. C++ 컴파일러가 Python을 찾을 수 없습니다.

    컴파일러가 IDE 또는 mingw4를 통해 실행되는 경우 표준 설치와 함께 제공되는 패키지가 포함된 표준 C++만 감지할 수 있습니다.

    IDE include 및 링커 파일에 타사 라이브러리를 추가해야 합니다.

    위의 문제를 해결하려면 세 단계를 실행해야 합니다.

    1. Python을 IDE에 내장할 수 있도록 Python을 사용자 지정 설치합니다.
    2. IDE include 및 링커 경로에 Python 경로 추가.
    3. C++ 코드 내에서 Python 코드를 작성하고 컴파일합니다.

C++에 코드를 포함할 수 있는 Python 설치

시스템 내부에 Python이 없거나 설치 및 연결되었지만 여전히 'Python.h': No such file or directory 오류가 발생하는 경우 Python 설치 시 디버그 바이너리를 다운로드하지 않았기 때문입니다.

'Python.h': No such file or directory 오류를 해결하려면 Python을 제거한 다음 올바르게 다시 설치하는 것이 좋습니다.

Python 웹사이트로 이동하여 최신 Python 버전을 다운로드합니다. 특정 버전이 필요한 경우 모든 릴리스 다운로드 섹션으로 이동하십시오.

이 문서는 Windows OS의 단계를 보여주므로 적절한 옵션은 Windows 설치 프로그램(64비트 또는 32비트)을 사용하는 것입니다. 최신 PC를 사용하는 경우 64비트 버전 사용을 권장합니다.

다운로드가 완료되면 설치 프로그램을 실행하고 설치 사용자 지정을 선택합니다. 지금 설치 옵션은 기본 설정으로 Python을 설치하지만 IDE에 포함할 수 있는 디버그 바이너리는 제외합니다.

Add Python X.X(version) to PATH를 묻는 상자를 선택한 다음 설치 사용자 지정을 클릭합니다.

설치 사용자 지정

다음 페이지에서 모든 상자를 선택하고 다음을 클릭합니다.

선택 기능

세 번째 메뉴에서 디버그 바이너리 다운로드 상자를 선택하고 설치를 클릭합니다. Python은 선택한 디렉토리에 설치됩니다.

디버그 라이브러리

IDE의 Include 및 링커에 Python 경로를 추가하는 단계

표준 설치에서 C++와 함께 제공되지 않는 타사 라이브러리는 IDE를 참조해야 합니다. IDE는 시스템 내부의 타사 라이브러리를 자동으로 검색하고 감지할 수 없습니다.

이것이 'Python.h': No such file or directory 오류가 발생하는 이유입니다.

IDE는 패키지 라이브러리가 C++ 스크립트가 있는 동일한 디렉토리에 저장되어 있을 때 파일을 검색할 수 있지만 해당 경로는 프로그램의 #include<> 헤더 안에 언급되어야 합니다.

그러나 이러한 방식으로 종속성을 저장하는 것은 나쁜 습관입니다.

해야 할 일은 라이브러리의 경로를 IDE에 연결하여 표준 헤더 파일이 포함되는 방식으로 포함될 수 있도록 하여 소스 코드와 함께 파일 경로를 제공할 필요가 없도록 하는 것입니다.

표준 설치에서 C++와 함께 제공되지 않는 타사 라이브러리는 IDE를 참조해야 합니다. IDE는 시스템 내부의 타사 라이브러리를 자동으로 검색하고 감지할 수 없습니다.

이것이 'Python.h': No such file or directory 오류가 발생하는 이유입니다.

처음에는 IDE가 필요합니다. Visual Studio(2017 이상)를 사용하는 것이 좋으며 이 문서에서는 동일한 내용을 다룹니다.

다른 IDE도 사용할 수 있으며 단계는 대부분 동일하지만 Visual Studio에서는 간단합니다.

시스템에 Visual Studio 설치

Visual Studio의 설치 프로그램은 여기에서 다운로드할 수 있습니다. 64비트 커뮤니티 버전을 다운로드한 후 C++ 개발 옵션을 포함하여 소프트웨어를 설치합니다.

설치가 완료되면 새 프로젝트를 생성합니다.

이전에 Visual Studio를 사용해 본 적이 없는 독자에게는 창이 위협적으로 보일 수 있지만 걱정할 필요는 없습니다. 필요한 대부분의 기능이 앞에 있으며 이 기사에서 나머지를 안내합니다.

프로젝트를 만들고 ‘Python in cpp’와 같은 이름을 지정합니다. 프로젝트가 생성되면 기본 창은 다음과 같이 표시됩니다.

메인 창

검은색 화면만 있는 경우 Ctrl+Alt+l를 누르면 솔루션 탐색기가 열립니다. 솔루션 탐색기에는 프로젝트에 사용할 수 있는 모든 파일과 종속성이 표시됩니다.

Include 및 링커에 Python 경로 추가

이 단계에서는 #include <python.h>가 작성될 때 IDE가 찾을 위치를 알 수 있도록 Python 경로가 포함되고 Visual Studio에 연결됩니다.

이 단계의 전제 조건은 Python이 설치된 디렉토리를 알고 다른 창에 열어 두는 것입니다. 이제 디버그 > 프로젝트 이름 > 속성으로 이동합니다(프로젝트 이름 대신 프로젝트 이름이 표시됨).

프로젝트 속성

프로젝트 속성 창에서 C/C++ > 일반 > 추가 포함 디렉터리로 이동하고 맨 오른쪽에 있는 작은 드롭 버튼을 클릭한 다음 <편집...>을 클릭합니다.

C++ 일반

추가 포함 디렉터리 대화 상자가 열립니다. 여기에서 첫 번째 빈 공간을 두 번 클릭하고 시스템 내부에 Python이 설치된 디렉터리에서 include 폴더의 경로를 붙여넣은 다음 확인을 클릭합니다.

추가 포함 디렉터리

include 디렉토리 경로가 추가된 후 Linker > General > Additional Library Directories로 이동합니다. 이전 단계와 마찬가지로 <편집...>을 클릭합니다.

추가 라이브러리 디렉토리

이제 libs 폴더가 링커에 추가되어야 합니다. 이 폴더는 include 폴더가 있는 Python 디렉터리에서도 찾을 수 있습니다.

추가한 후 확인을 클릭한 다음 적용을 클릭합니다.

lib 폴더 추가

C++로 Python 코드 작성 및 컴파일

include 및 링커 경로가 추가되면 위의 단계가 올바르게 실행되었는지 확인하기 위해 샘플 프로그램을 컴파일해야 하며 'Python.h': No such file or directory 오류가 다시 발생하지 않습니다.

솔루션 탐색기로 이동하여 소스 파일을 마우스 오른쪽 버튼으로 클릭합니다. 추가 > 새 항목을 클릭하고 파일 이름을 지정하고 추가를 클릭합니다.

이 새 파일에는 컴파일될 코드가 포함됩니다.

아래는 오류가 발생한 기사의 시작 부분에 사용된 C++ 프로그램입니다.

#include <Python.h>
#include <conio.h>
#include <stdio.h>

int main() {
  PyObject* pInt;

  Py_Initialize();

  PyRun_SimpleString("print('Hello World from Embedded Python!!!')");

  Py_Finalize();

  printf("\nPress any key to exit...\n");
  if (!_getch()) _getch();
  return 0;
}

이제 상단의 녹색 재생 버튼을 클릭하여 파일을 컴파일하면 다음과 같은 출력이 표시됩니다.

Hello World from Embedded Python!!!

Press any key to exit...

결론

이 문서에서는 'Python.h': No such file or directory 오류를 해결하는 단계를 설명합니다. 이 기사를 읽은 독자는 Python 및 Visual Studio를 설치하고 Python 라이브러리에 연결할 수 있습니다.

관련 문장 - C++ Error