如何使用嵌入式python脚本编译和运行C代码?

如何使用嵌入式python脚本编译和运行C代码?,python,c,Python,C,我使用的这个例子来自 我收到一个错误: modwithpy.c:1:20:致命错误:Python.h:没有这样的文件或目录 编译终止 但是,我已经安装了python开发包。我还研究了python包的绝对路径,但不明白我需要编写什么 $ whereis python python: /usr/bin/python3.3m /usr/bin/python /usr/bin/python2.7-config /usr/bin/python3.3 /usr/bin/python2.7 /etc/pyt

我使用的这个例子来自

我收到一个错误:

modwithpy.c:1:20:致命错误:Python.h:没有这样的文件或目录 编译终止

但是,我已经安装了python开发包。我还研究了python包的绝对路径,但不明白我需要编写什么

$ whereis python
python: /usr/bin/python3.3m /usr/bin/python /usr/bin/python2.7-config 
/usr/bin/python3.3 /usr/bin/python2.7 /etc/python /etc/python3.3 /etc/python2.7
/usr/lib/python2.6 /usr/lib/python3.3 /usr/lib/python2.7 /usr/bin/X11/python3.3m
/usr/bin/X11/python /usr/bin/X11/python2.7-config /usr/bin/X11/python3.3
/usr/bin/X11/python2.7 /usr/local/lib/python3.3 /usr/local/lib/python2.7
/usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz

你读得不够远。文档说明了如何告诉编译器python头和库的位置

基于此,尝试

gcc `/opt/bin/python3.3-config --cflags` modwithpy.c -o mod \
  `/opt/bin/python3.3-config --ldlags`

如果您的
python
安装的脚本位于不同的位置,则必须将
/opt/bin
更改为
..-config
真正所在的位置。从您的
跟踪中,可能是
/usr/bin

您读得不够远。文档说明了如何告诉编译器python头和库的位置

基于此,尝试

gcc `/opt/bin/python3.3-config --cflags` modwithpy.c -o mod \
  `/opt/bin/python3.3-config --ldlags`

如果您的
python
安装的脚本位于不同的位置,则必须将
/opt/bin
更改为
..-config
真正所在的位置。从
whereis
跟踪中,它可能是
/usr/bin

您需要找到
Python.h
所在的位置,然后确保将该路径添加到编译器的
INCLUDE
路径中。你用的是什么编译器?对不起,我用的是gcc编译器(我想),OS linux mint 15(olivia),我相信你会在找到答案的地方找到你需要指定找到
Python.h
头的目录。您似乎有多个版本,因此您需要决定要链接的版本-可能是3.3版本。因此,可能存在一个
/usr/bin/python3.3-config
(或
python3.3m-config
)文件;用那个。确实有一个2.7配置,因此如果您对链接到Python 2.7没问题,您可以使用它。您需要找到
Python.h
所在的位置,然后确保将该路径添加到编译器的
INCLUDE
路径中。你用的是什么编译器?对不起,我用的是gcc编译器(我想),OS linux mint 15(olivia),我相信你会在找到答案的地方找到你需要指定找到
Python.h
头的目录。您似乎有多个版本,因此您需要决定要链接的版本-可能是3.3版本。因此,可能存在一个
/usr/bin/python3.3-config
(或
python3.3m-config
)文件;用那个。肯定有一个2.7配置,所以如果您对链接到Python2.7没问题,您可以使用它。
gcc `/opt/bin/python3.3-config --cflags` modwithpy.c -o mod \
  `/opt/bin/python3.3-config --ldlags`