Swift + Python:没有名为librosa或pyaudio的模块

时间:2018-11-14 21:36:05

标签: python swift pyaudio librosa

我正在执行一个简单的测试,以在Swift应用程序中加载Python库(下面是代码)。除librosa和pyaudio外,所有的Python库都可以正常加载(是的,我通过pip安装了它们,是的,它们可以在本机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

1 个答案:

答案 0 :(得分:2)

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