首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吡喃无法导入_portaudio

吡喃无法导入_portaudio
EN

Stack Overflow用户
提问于 2016-04-17 20:27:06
回答 7查看 27.2K关注 0票数 14

试图运行使用py音频的python应用程序。使用virtualenv和安装是可行的。但是,在运行时,它找不到端口音频。但是_portaudio.so文件存在。有什么建议吗?

代码语言:javascript
复制
(venv) kidkic@pi-mirror1:~/audio $ jasper/jasper.py 
Could not import the PyAudio C module '_portaudio'.
Traceback (most recent call last):
  File "jasper/jasper.py", line 31, in <module>
    from client.mic import Mic
  File "/home/kidkic/audio/jasper/client/mic.py", line 9, in <module>
    import pyaudio
  File "/home/kidkic/audio/venv/local/lib/python2.7/site-packages/pyaudio.py", line 116, in <module>
    import _portaudio as pa
ImportError: /home/kidkic/audio/venv/local/lib/python2.7/site-packages/_portaudio.so: undefined symbol: Pa_GetStreamReadAvailable


# CHECKING THAT THE FILE EXISTS (a binary file)
(venv) kidkic@pi-mirror1:~/audio $ ls venv/local/lib/python2.7/site-packages/_*
venv/local/lib/python2.7/site-packages/_portaudio.so
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-04-21 07:17:07

问题不在于它找不到库,而是库缺少了一个所需的函数。(源代码)。我遇到了同样的问题,并且相信这个问题源于使用错误版本的portaudio-dev构建。

你需要做的是:

  1. 使用sudo apt-get purge --remove python-pyaudio卸载python-py音频(这是0.2.8版)
  2. 下载 PortAudio的最新版本(19)。
  3. 卸载和安装PortAudio
    • ./configure
    • make
    • make install

  4. 获取py音频的依赖项
    • portaudio19-dev
    • python-all-dev (python3-all-dev for Python 3)

  5. sudo pip install pyaudio

在那之后,我就能用吡喹酮了。

票数 20
EN

Stack Overflow用户

发布于 2020-02-12 15:52:11

这对我来说很管用

代码语言:javascript
复制
conda install -c anaconda portaudio
票数 6
EN

Stack Overflow用户

发布于 2017-02-11 14:26:12

对于linux用户来说,在安装portaudio之后,您可能会得到类似的结果。

代码语言:javascript
复制
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------


PortAudio was successfully installed.

On some systems (e.g. Linux) you should run 'ldconfig' now
to make the shared object available.  You may also need to
modify your LD_LIBRARY_PATH environment variable to include
the directory /usr/local/lib

因此,我想添加下面的命令作为步骤4,下面是Wehrdo在上述答案中的步骤。

  • sudo ldconfig
  • export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  • echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/" >> ~/.bashrc
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36681836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档