Ubuntu 시스템에 Python이 있는데 gcc가 Python.h를 찾을 수 없습니다.
학교 컴퓨터라서 아무것도 설치할 수 없어요.
Python에서 실행할 수 있는 C코드를 작성하려고 합니다.제가 찾은 모든 기사에 따르면
#include <Python.h>
이렇게 하는데 컴파일할 때 그런 파일이나 디렉토리가 없다고 불평합니다.
컴퓨터는 Python을 가지고 있다(적어도 Python은 가지고 있다).python
원하는 Python 코드를 실행할 수 있습니다.)
입력했습니다.locate Python.h
하지만 아무것도 찾지 못했어요
두 가지 질문이 있습니다.
Python에서 호출할 수 있는 C 코드를 쓸 수 있나요?
Python.h
?제가 뭘 놓치고 있는 걸까요? 그리고 컴퓨터는 실제로
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를 실행할 수 있는 경우 이 방법이 도움이 됩니다.이를 위해
압축 해제
tar xjf Python-2.7.2.tar.bz2
구축 및 설치
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 -y
python-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
'programing' 카테고리의 다른 글
Vuex 디스패치에 의한 비동기/대기 (0) | 2022.07.21 |
---|---|
VueJ 2.0에서 vee-validate를 사용하는 두 필드 중 하나 이상 필요 (0) | 2022.07.21 |
VueJs 2를 사용한 글로벌 데이터 (0) | 2022.07.21 |
Synchronized Block 대신 Synchronized Method를 사용하는 장점이 있습니까? (0) | 2022.07.21 |
C#의 Generics와 Java의 차이점은 무엇입니까?템플릿은 C++로 표시됩니까? (0) | 2022.07.21 |