Swift + Python: ни один модуль с именем librosa или pyaudio - PullRequest
0 голосов
/ 15 ноября 2018

Я выполняю простой тест для загрузки библиотек Python в приложение Swift (ниже приведен код). Все библиотеки Python загружаются нормально, кроме librosa и pyaudio (да, они установлены через 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 голосов
/ 15 ноября 2018

Модуль Swift для TensorFlow Python построен с привязкой к системе Python.Итак, если вы используете что-то вроде homebrew для установки Python2 / Python3, то Swift для TensorFlow не увидит эти пакеты установленными.Поэтому вам необходимо убедиться, что вы удалили python @ 2 и используете системный Python.Системный Python не включает pip , поэтому вам необходимо установить его.После того, как вы установили pip, вы увидите, что Swift for TensorFlow уже установил несколько библиотек Python для вас (вот почему matplotlib.pyplot и numpy могут быть импортированы).Теперь вы можете установить нужные вам библиотеки Python, и теперь они действительно будут видны внутри Swift для TensorFlow.

...