我正在尝试https://github.com/lthiery/SPI-Py
通过运行来安装(在运行 Raspbian 的 Raspberry Pi 上)sudo python setup.py install
这会失败并出现错误
spi.c:20:20: fatal error: Python.h: No such file or directory
#include <Python.h>
大概我需要安装一些库,但 SPI-Py 的“文档”几乎不存在。
我运行其他程序没有问题c
。
有一个/usr/lib/pypy-upstream/include/Python.h
答案1
看来C编译器(可能是gcc)找不到Python.h。您可以编辑 SPI-Py 的源以指向 PyPy 的版本,也可以安装适当的 python-dev 包来执行 SPI-Py 安装。
安装 python-dev
这是侵入性最小的方法,但它可能被认为是“笨重”,因为系统上已经安装了 PyPy。如果您使用的是 Python 2,请获取该开发包:
sudo apt-get install python-dev
或者,安装 Python 3 开发包:
sudo apt-get install python3-dev
获得适当的开发包后,尝试再次安装 SPI-Py。如果成功,您可以根据需要安全地删除 Python 开发包。要删除 Python 2 开发包:
sudo apt-get purge python-dev
或者,删除 Python 3 开发包:
sudo apt-get purge python3-dev
在执行任一命令后,您可以使用以下命令删除它们的依赖项:
sudo apt-get autoremove
修改SPI-Py
请注意,我尚未测试此解决方案。要强制 SPI-Py 使用 PyPy 的“Python.h”,您可能必须编辑 spi.c 文件。更改以下行:
module1 = Extension('spi', sources = ['spi.c'])
到:
module1 = Extension('spi',
include_dirs = ['/usr/lib/pypy-upstream/include/'],
sources = ['spi.c'])
之后,尝试再次安装 SPI-Py。
答案2
您应该安装该软件包python-dev
。