我正在执行一个简单的测试,以在 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/