programing

Ubuntu 시스템에 Python이 있는데 gcc가 Python.h를 찾을 수 없습니다.

procenter 2022. 7. 21. 23:12
반응형

Ubuntu 시스템에 Python이 있는데 gcc가 Python.h를 찾을 수 없습니다.

학교 컴퓨터라서 아무것도 설치할 수 없어요.

Python에서 실행할 수 있는 C코드를 작성하려고 합니다.제가 찾은 모든 기사에 따르면

#include <Python.h>

이렇게 하는데 컴파일할 때 그런 파일이나 디렉토리가 없다고 불평합니다.

컴퓨터는 Python을 가지고 있다(적어도 Python은 가지고 있다).python원하는 Python 코드를 실행할 수 있습니다.)

입력했습니다.locate Python.h하지만 아무것도 찾지 못했어요

두 가지 질문이 있습니다.

  1. Python에서 호출할 수 있는 C 코드를 쓸 수 있나요?Python.h?

  2. 제가 뭘 놓치고 있는 걸까요? 그리고 컴퓨터는 실제로Python.h?

필요한 것은python-dev포함된 패키지Python.h

#include "python 2.7/Python"을 사용해야 합니다.#"Python" 대신 h"입력합니다.h" 입니다.

Ubuntu 15.10 및 Python 3의 경우, 이 질문에 대답하려면Python.h그러나 관리자 권한이 있으면 다음과 같이 해결할 수 있습니다.

sudo apt-get install python-dev
sudo apt-get install python3-dev
sudo apt-get install libpython3-dev
sudo apt-get install libpython3.4-dev
sudo apt-get install libpython3.5-dev

답을 ubuntuforums(ubuntuforums)에서 찾았습니다.이것을 gcc '$(python-config --includes)'에 추가하면 됩니다.

gcc $(python-config --includes) urfile.c

Ubuntu에서는 다음과 같은 패키지를 설치해야 합니다.python-dev이 패키지가 인스톨 되어 있지 않은 것 같기 때문에(locate Python.h아무것도 찾을 수 없었습니다).시스템 전체에 직접 설치할 수 없습니다.다른 솔루션이 필요합니다.

Python을 홈 디렉토리에 설치할 수 있습니다. 이를 위해 특별한 권한이 필요하지 않습니다.웹 브라우저를 사용하여 gcc를 실행할 수 있는 경우 이 방법이 도움이 됩니다.이를 위해

  1. 소스 tarball을 다운로드합니다.

  2. 압축 해제

    tar xjf Python-2.7.2.tar.bz2
    
  3. 구축 및 설치

    cd Python-2.7.2
    ./configure --prefix=/home/username/python --enable-unicode=ucs4
    make
    make install
    

이제 Python이 홈 디렉토리에 완전히 설치되었습니다.통과하다-I /home/username/python/include컴파일할 때 인식하기 위해 gcc를 사용한다.Python.h.통과하다-L /home/username/python/lib그리고.-lpython2.7링크할 때.

python-dev를 설치해야 합니다.
Ubuntu의 경우:
sudo apt-get install python-dev # for python2.x installs sudo apt-get install python3-dev # for python3.x installs
자세한 내용은 다음을 참조하십시오.
https://stackoverflow.com/a/21530768/6841045

그 이유는Python.h는 기본 포함 폴더에 없습니다(즉,/usr/include/).

Python-dev를 설치하면 다음과 같은 이점이 있습니다.

$ sudo apt-get install python-dev 

그러나 개발 패키지는 include 폴더 자체에 있는 별도의 폴더 내에서 만들어지기 때문에 대부분 문제가 지속됩니다./usr/include/python2.7또는python3).

따라서 다음을 사용하여 라이브러리 폴더를 지정해야 합니다.-I입니다.gcc또는 폴더 내의 모든 것에 대한 소프트 링크를 생성하여 바로 외부에 연결합니다(전자의 옵션을 선호합니다).

「」를 사용합니다.-I입니다.gcc:

$ gcc -o hello -I /usr/include/python2.7 helloworld.c

소프트 링크 작성:

$ sudo ln -sv /usr/include/python2.7/* /usr/include/

나는 어떤 대답도 통하지 않았다.Ubuntu에서 실행 중인 경우 다음을 시도할 수 있습니다.

python3의 경우:

sudo apt-get install python3 python-dev python3-dev \
     build-essential libssl-dev libffi-dev \
     libxml2-dev libxslt1-dev zlib1g-dev \
     python-pip

Python 2의 경우:

sudo apt-get install python-dev  \
     build-essential libssl-dev libffi-dev \
     libxml2-dev libxslt1-dev zlib1g-dev \
     python-pip
locate Python.h

출력이 비어 있으면 python 버전을 찾습니다.

python --version

예를 들어 X.x, 즉 2.7 또는 3.6, 3.7, 3.8이라고 칩시다.그리고 같은 버전의 python용 헤더 파일과 정적 라이브러리를 설치합니다.

sudo apt-get install pythonX.x-dev

즉, python dev용 라이브러리를 설치하지 않습니다.

Linux OS 를 사용하고 있는 경우는, 다음의 커맨드로 이 문제를 해결할 수 있습니다.

  • Ubuntu (데비안):

    sudo apt-get install python-dev (Py2) 또sudo apt-get install python3-dev(Py3)

  • 리하트(CentOS):

    yum install python-devel

cent에 매우 오래된 omniORB 복사본을 작성하려고 하다가 같은 문제에 부딪혔습니다.OS 7 머신python 개발 라이브러리를 설치하여 문제를 해결:

# yum install python-devel

이것에 의해, Python.h 가 다음의 장소에 인스톨 됩니다.

/usr/include/python2.7/Python.h

에서는 우분투라고 .sudo apt-get install python-dev -ypython-dev 의

이제 헤더 파일은 libpython2.7-dev에 의해 제공됩니다.

packages.ubuntu.com의 검색 폼을 사용하여 어떤 패키지가 제공하는지 확인할 수 있습니다.Python.h.

Synaptic 패키지 매니저로 이동합니다.새로고침 -> python 검색 -> 원하는 python 패키지 선택 -> Submit -> Install Works for me ;)

맞습니다. 설치하셔야 하는 패키지는 python-dev 입니다.

언급URL : https://stackoverflow.com/questions/8282231/i-have-python-on-my-ubuntu-system-but-gcc-cant-find-python-h

반응형