Я создаю скрипт на Python для чтения календарных встреч из Korganize и ответа в аудиоформате, что сработало. Теперь делаю двустороннее аудио.

Вопрос или проблема

Я хотел сделать так, чтобы это давало звуковые напоминания о моих встречах. Скажем, я на кухне, это напоминает мне, где я должен быть, когда работаю в магазине или на кухне. Затем, возможно, это делало бы объявление по внутренней связи через мой телефон Polycom. Это было бы удобно, не нужно постоянно искать или брать с собой телефон по всей территории. У меня есть небольшая проблема с этой библиотекой, которую я пытаюсь установить. Она называется PyAudio. Я пробовал все возможные комбинации команд для установки, но она не устанавливается. Я вижу, что она жалуется на заголовочный файл. Но каким бы то ни было образом, установить ее не удается.

В любом случае, вот набор команд:

Установка системных зависимостей: Команда:

bash
Копировать код
sudo apt-get install python3-dev build-essential portaudio19-dev -y
Ошибка:

bash
Копировать код
Ошибка установки системных зависимостей: Команда ‘[‘sudo’, ‘apt-get’, ‘install’, ‘python3-dev’, ‘build-essential’, ‘portaudio19-dev’, ‘-y’]’ вернула ненулевой код завершения 1.
Установка PyAudio: Команда:

bash
Копировать код
pip install pyaudio
Ошибка:

bash
Копировать код
ОШИБКА: Не удалось собрать колесо для pyaudio
ошибка: subprocess-exited-with-error
× Сборка колеса для pyaudio (pyproject.toml) не удалась.
│ код выхода: 1
╰─> [15 строк вывода]
запуск bdist_wheel
запуск сборки
запуск build_py
создание build/lib.linux-x86_64-cpython-310/pyaudio
копирование src/pyaudio/__init__.py -> build/lib.linux-x86_64-cpython-310/pyaudio
запуск build_ext
создание расширения ‘pyaudio._portaudio’
создание build/temp.linux-x86_64-cpython-310/src/pyaudio
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/include -I/usr/include “-I/home/lork/Documents/PycharmProjects/search file/.venv/include” -I/usr/include/python3.10 -c src/pyaudio/device_api.c -o build/temp.linux-x86_64-cpython-310/src/pyaudio/device_api.o
В файле, включенном из src/pyaudio/device_api.c:1:0:
src/pyaudio/device_api.h:7:10: фатальная ошибка: Python.h: Нет такого файла или каталога
#include “Python.h”
^~~~~~~~~~
компиляция завершена с ошибкой.
ошибка: команда ‘/usr/bin/x86_64-linux-gnu-gcc’ завершилась с кодом 1
Установка PyAudio (Детали): После попытки собрать колесо для PyAudio, детали ошибки указывают на отсутствие файла Python.h, который необходим для компиляции C-расширения для PyAudio.

Основная ошибка:

bash
Копировать код
фатальная ошибка: Python.h: Нет такого файла или каталога
Установка PyGObject: Команда:

bash
Копировать код
pip install pygobject
Ошибка:

bash
Копировать код
ошибка: subprocess-exited-with-error

× не удалось выполнить подпроцесс pip для установки зависимостей сборки.
│ код выхода: 1
╰─> [75 строк вывода]
Сбор meson-python>=0.12.1
Используется кэшированный файл meson_python-0.17.1-py3-none-any.whl.metadata (4.1 кБ)
Сборка pycairo>=1.16
Используется кэшированный файл pycairo-1.27.0.tar.gz (661 кБ)
Установка зависимостей сборки: начата
Установка зависимостей сборки: завершена со статусом “выполнено”
Получение требований для сборки колеса: начато
Получение требований для сборки колеса: завершено со статусом “выполнено”
Установка зависимостей backend: начата
Установка зависимостей backend: завершена со статусом “выполнено”
Подготовка метаданных (pyproject.toml): начата
Подготовка метаданных (pyproject.toml): завершена с ошибкой
ошибка: subprocess-exited-with-error

  × Подготовка метаданных (pyproject.toml) не выполнена успешно.
  │ код выхода: 1
  ╰─> [48 строк вывода]
      + meson setup /tmp/pip-install-oal6efpy/pycairo_dd44239402f54086ab4bc5d081568de9 /tmp/pip-install-oal6efpy/pycairo_dd44239402f54086ab4bc5d081568de9/.mesonpy-squaysaj -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md -Dwheel=true -Dtests=false --native-file=/tmp/pip-install-oal6efpy/pycairo_dd44239402f54086ab4bc5d081568de9/.mesonpy-squaysaj/meson-python-native-file.ini
      Система сборки Meson
      Версия: 1.6.1
      Исходный каталог: /tmp/pip-install-oal6efpy/pycairo_dd44239402f54086ab4bc5d081568de9
      Каталог сборки: /tmp/pip-install-oal6efpy/pycairo_dd44239402f54086ab4bc5d081568de9/.mesonpy-squaysaj
      Тип сборки: сборка для хоста
      Имя проекта: pycairo
      Версия проекта: 1.27.0
      Компилятор С для хост-машины: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
      Компоновщик С для хост-машины: cc ld.bfd 2.30
      Семейство процессоров хост-машины: x86_64
      Процессор хост-машины: x86_64
      Программа python3 найдена: ДА (/home/lork/Documents/PycharmProjects/search file/.venv/bin/python)
      Компилятор для C поддерживает аргументы -Wall: ДА
      Компилятор для C поддерживает аргументы -Warray-bounds: ДА
      Компилятор для C поддерживает аргументы -Wcast-align: ДА
      Компилятор для C поддерживает аргументы -Wconversion: ДА
      Компилятор для C поддерживает аргументы -Wextra: ДА
      Компилятор для C поддерживает аргументы -Wformat=2: ДА
      Компилятор для C поддерживает аргументы -Wformat-nonliteral: ДА
      Компилятор для C поддерживает аргументы -Wformat-security: ДА
      Компилятор для C поддерживает аргументы -Wimplicit-function-declaration: ДА
      Компилятор для C поддерживает аргументы -Winit-self: ДА
      Компилятор для C поддерживает аргументы -Winline: ДА
      Компилятор для C поддерживает аргументы -Wmissing-format-attribute: ДА
      Компилятор для C поддерживает аргументы -Wmissing-noreturn: ДА
      Компилятор для C поддерживает аргументы -Wnested-externs: ДА
      Компилятор для C поддерживает аргументы -Wold-style-definition: ДА
      Компилятор для C поддерживает аргументы -Wpacked: ДА
      Компилятор для C поддерживает аргументы -Wpointer-arith: ДА
      Компилятор для C поддерживает аргументы -Wreturn-type: ДА
      Компилятор для C поддерживает аргументы -Wshadow: ДА
      Компилятор для C поддерживает аргументы -Wsign-compare: ДА
      Компилятор для C поддерживает аргументы -Wstrict-aliasing: ДА
      Компилятор для C поддерживает аргументы -Wundef: ДА
      Компилятор для C поддерживает аргументы -Wunused-but-set-variable: ДА
      Компилятор для C поддерживает аргументы -Wswitch-default: ДА
      Компилятор для C поддерживает аргументы -Wno-missing-field-initializers: ДА
      Компилятор для C поддерживает аргументы -Wno-unused-parameter: ДА
      Компилятор для C поддерживает аргументы -fno-strict-aliasing: ДА
      Компилятор для C поддерживает аргументы -fvisibility=hidden: ДА
      Найден pkg-config: ДА (/usr/bin/pkg-config) 0.29.1
      Зависимость времени выполнения cairo найдена: ДА 1.15.10
      Зависимость времени выполнения python не найдена: НЕТ (пытались pkgconfig, pkgconfig и sysconfig)
  
      ../cairo/meson.build:51:15: ОШИБКА: Зависимость Python не найдена
  
      Полный лог можно найти в /tmp/pip-install-oal6efpy/pycairo_dd44239402f54086ab4bc5d081568de9/.mesonpy-squaysaj/meson-logs/meson-log.txt

Окончательная проверка PyAudio: После всех попыток, скрипт сообщил, что PyAudio не установлен:

bash
Копировать код
Проверка установки PyAudio…
Ошибка: PyAudio не установлен.

Ответ или решение

Чтобы ответить на вопрос и помочь решить проблему с установкой PyAudio и PyGObject, начнем с анализа ошибок и необходимых шагов по устранению неполадок.

Проблема с установкой PyAudio

  1. Ошибка отсутствия Python.h: Ошибка компиляции fatal error: Python.h: No such file or directory указывает на отсутствие заголовочного файла Python.h, который необходим для компиляции C-расширений. Это можно решить, установив необходимые пакеты разработки Python. На Ubuntu/Linux команда будет следующей:

    sudo apt-get install python3-dev
  2. Установка зависимостей системы: Команда установки зависимостей, которую вы пытались использовать, возвратила ошибку. Убедитесь, что ваша система обновлена, и повторите попытку:

    sudo apt-get update
    sudo apt-get install python3-dev build-essential portaudio19-dev -y
  3. Установка PyAudio: После установки всех необходимых системных зависимостей повторите установку PyAudio:

    pip install pyaudio

Проблема с установкой PyGObject

  1. Ошибка установки PyGObject: Ошибка, связанная с subprocess-exited-with-error, указывает на проблемы с зависимостями для сборки. Убедитесь, что у вас установлены все необходимые зависимости для работы с PyGObject.

  2. Необходимые зависимости: Убедитесь, что установлены пакеты glib и gobject. Выполните команду:

    sudo apt-get install libglib2.0-dev libgirepository1.0-dev -y
  3. Попробуйте установить PyGObject снова:

    pip install pygobject

Убедитесь в наличии всех зависимостей

Иногда, особенно в виртуальной среде, могут отсутствовать некоторые зависимости, необходимые для корректной компиляции и установки библиотек. Проверьте и установите их следующим образом:

sudo apt-get install gcc pkg-config

Вывод

Ваша цель создать систему голосовых напоминаний для календаря Korganize, и с помощью вышеупомянутых шагов и устранения неполадок вы должны быть в состоянии установить нужные пакеты. Если ошибки продолжаются, советую внимательно проверить журналы ошибок (meson-log.txt) для PyGObject, а также убедиться, что Python в вашей системе правильно настроен и обновлен.

Эти советы помогут вам продвинуться вперед в создании полезного и функционального Python-скрипта для голосового оповещения о встречах. Успехов в разработке!

Оцените материал
Добавить комментарий

Капча загружается...