树莓派sudo pip install simpleaudio 出错

在尝试安装Python库simpleaudio时遇到了编译错误,原因是缺少gcc编译工具和alsa-dev库。解决方案是先使用sudoapt-getinstallgcclibasound2-dev命令安装必要的构建工具,然后通过sudopipinstallsimpleaudio来成功安装库。
摘要由CSDN通过智能技术生成

报错内容:

ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-y2b8zc6m/simpleaudio_667237072c7f46b0b5267785a7aafaa5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-y2b8zc6m/simpleaudio_667237072c7f46b0b5267785a7aafaa5/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-a9yr928t
       cwd: /tmp/pip-install-y2b8zc6m/simpleaudio_667237072c7f46b0b5267785a7aafaa5/
  Complete output (37 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-3.9
  creating build/lib.linux-aarch64-3.9/simpleaudio
  copying simpleaudio/__init__.py -> build/lib.linux-aarch64-3.9/simpleaudio
  copying simpleaudio/shiny.py -> build/lib.linux-aarch64-3.9/simpleaudio
  copying simpleaudio/functionchecks.py -> build/lib.linux-aarch64-3.9/simpleaudio
  creating build/lib.linux-aarch64-3.9/simpleaudio/test_audio
  copying simpleaudio/test_audio/c.wav -> build/lib.linux-aarch64-3.9/simpleaudio/test_audio
  copying simpleaudio/test_audio/e.wav -> build/lib.linux-aarch64-3.9/simpleaudio/test_audio
  copying simpleaudio/test_audio/g.wav -> build/lib.linux-aarch64-3.9/simpleaudio/test_audio
  copying simpleaudio/test_audio/left_right.wav -> build/lib.linux-aarch64-3.9/simpleaudio/test_audio
  copying simpleaudio/test_audio/notes_2_16_44.wav -> build/lib.linux-aarch64-3.9/simpleaudio/test_audio
  running build_ext
  building 'simpleaudio._simpleaudio' extension
  creating build/temp.linux-aarch64-3.9
  creating build/temp.linux-aarch64-3.9/c_src
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-PN012d/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-PN012d/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DDEBUG=0 -I/usr/include/python3.9 -c c_src/posix_mutex.c -o build/temp.linux-aarch64-3.9/c_src/posix_mutex.o
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-PN012d/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-PN012d/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DDEBUG=0 -I/usr/include/python3.9 -c c_src/simpleaudio.c -o build/temp.linux-aarch64-3.9/c_src/simpleaudio.o
  c_src/simpleaudio.c: In function ‘_play_buffer’:
  c_src/simpleaudio.c:164:5: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations]
    164 |     PyEval_InitThreads();
        |     ^~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.9/Python.h:145,
                   from c_src/simpleaudio.h:10,
                   from c_src/simpleaudio.c:7:
  /usr/include/python3.9/ceval.h:130:37: note: declared here
    130 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-PN012d/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-PN012d/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DDEBUG=0 -I/usr/include/python3.9 -c c_src/simpleaudio_alsa.c -o build/temp.linux-aarch64-3.9/c_src/simpleaudio_alsa.o
  c_src/simpleaudio_alsa.c:8:10: fatal error: alsa/asoundlib.h: 没有那个文件或目录
      8 | #include <alsa/asoundlib.h>
        |          ^~~~~~~~~~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for simpleaudio
  Running setup.py clean for simpleaudio
Failed to build simpleaudio
Installing collected packages: simpleaudio
    Running setup.py install for simpleaudio ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-y2b8zc6m/simpleaudio_667237072c7f46b0b5267785a7aafaa5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-y2b8zc6m/simpleaudio_667237072c7f46b0b5267785a7aafaa5/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-jydfkv92/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/simpleaudio
         cwd:

解决办法:

        安装必要的构建工具(如gcc)和alsa-dev库

        安装指令:

sudo apt-get install gcc libasound2-dev

        然后运行:

sudo pip install simpleaudio

        即可正常安装,

树莓派上使用pip安装软件时,可能会遇到速度很慢或者无法下载的情况。这是因为pip默认使用的源是国外的镜像站点,与我们的网络环境不太适配。为了解决这个问题,我们可以通过换源来提高下载速度和稳定性。 首先,我们需要编辑pip的配置文件。打开终端,输入以下命令: ``` sudo nano /etc/pip.conf ``` 在打开的文件中,我们可以看到以下内容: ``` [global] index-url=https://pypi.python.org/simple/ ``` 我们需要将上面的地址修改为国内的镜像站点。常用的镜像站点有阿里云、清华大学、豆瓣等。这里以清华大学的镜像为例,将配置文件修改为以下内容: ``` [global] index-url=https://pypi.tuna.tsinghua.edu.cn/simple/ ``` 修改完成后,按下Ctrl+X,然后按Y键保存并退出。 接下来,我们可以通过重新安装所需软件来验证源是否已成功替换。在终端中输入以下命令: ``` sudo pip install 软件名 ``` 这里的“软件名”是你想安装的软件的名称。如果安装速度明显提升,且没有报错信息,说明源已经成功替换。 需要注意的是,由于国内的镜像站点可能会有一定的延迟或不稳定性,建议在安装完软件后,将pip源还原为默认的国外源,以保证后续的软件安装和更新。 这就是如何在树莓派上使用pip换源的方法。通过换源,我们可以更快速地安装所需的软件,提高树莓派的使用效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaokanshijie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值