python - swift +Python : No module named librosa or pyaudio

标签 python swift pyaudio librosa

我正在执行一个简单的测试,以在 Swift 应用程序中加载 Python 库(下面是代码)。除了 librosa 和 pyaudio 之外,所有 Python 库都加载正常(是的,我通过 pip 安装了它们,并且它们在 native Python 中工作)。当我运行该应用程序时,收到错误消息“Python 异常:没有名为 x 的模块”,其中 x 是 librosa 或 pyaudio。其他 Python 库加载并运行良好。那么,我需要做什么才能让 librosa 和 pyaudio 库在 Swift 中工作?

let np = Python.import("numpy")
let plt = Python.import("matplotlib.pyplot")
let rosa = Python.import("librosa")
let audio = Python.import("pyaudio")
let display = Python.import("IPython.display")
let pd = Python.import("pandas")

我的系统:

macOS Mojave: Version 10.14.2 Beta (18C38b)
Xcode: Version 10.1 (10B61)
Toolchain: Swift for TensorFlow Development Snapshot 2018-10-17

最佳答案

Swift for TensorFlow Python 模块是针对系统 Python 链接构建的。因此,如果您使用 homebrew 之类的工具来安装 Python2/Python3,那么 Swift for TensorFlow 将看不到已安装的这些软件包。因此,您必须确保卸载python@2并使用系统Python。系统Python不包含pip所以你需要安装它。安装 pip 后,您可以看到 Swift for TensorFlow 已经为您安装了一些 Python 库(这就是可以导入 matplotlib.pyplot 和 numpy 的原因)。现在,您可以 pip 安装您需要的 Python 库,它们现在确实可以在 Swift for TensorFlow 中看到。

关于python - swift +Python : No module named librosa or pyaudio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53309083/

相关文章:

python - 检索当前行和上一个/下一个正值之间的行数

python - Django 连接同一模型的两个查询集

python - Python中反转链表的方法

ios - Swift:UIWebView 加载旧内容

ios - swift iOS 是否有一种快速填充 Realm 数据库的方法

portaudio - 回调调用之间的时间间隔?

python - wav 文件完成时 PyAudio readframes 未结束

python - Python中switch语句的替换?

ios - 使用推特登录总是返回错误

python - pyaudio - "Listen"直到检测到语音然后录制到 .wav 文件