Вопрос или проблема
Я хотел сделать так, чтобы это давало звуковые напоминания о моих встречах. Скажем, я на кухне, это напоминает мне, где я должен быть, когда работаю в магазине или на кухне. Затем, возможно, это делало бы объявление по внутренней связи через мой телефон 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
-
Ошибка отсутствия Python.h: Ошибка компиляции
fatal error: Python.h: No such file or directory
указывает на отсутствие заголовочного файла Python.h, который необходим для компиляции C-расширений. Это можно решить, установив необходимые пакеты разработки Python. На Ubuntu/Linux команда будет следующей:sudo apt-get install python3-dev
-
Установка зависимостей системы: Команда установки зависимостей, которую вы пытались использовать, возвратила ошибку. Убедитесь, что ваша система обновлена, и повторите попытку:
sudo apt-get update sudo apt-get install python3-dev build-essential portaudio19-dev -y
-
Установка PyAudio: После установки всех необходимых системных зависимостей повторите установку PyAudio:
pip install pyaudio
Проблема с установкой PyGObject
-
Ошибка установки PyGObject: Ошибка, связанная с
subprocess-exited-with-error
, указывает на проблемы с зависимостями для сборки. Убедитесь, что у вас установлены все необходимые зависимости для работы с PyGObject. -
Необходимые зависимости: Убедитесь, что установлены пакеты glib и gobject. Выполните команду:
sudo apt-get install libglib2.0-dev libgirepository1.0-dev -y
-
Попробуйте установить PyGObject снова:
pip install pygobject
Убедитесь в наличии всех зависимостей
Иногда, особенно в виртуальной среде, могут отсутствовать некоторые зависимости, необходимые для корректной компиляции и установки библиотек. Проверьте и установите их следующим образом:
sudo apt-get install gcc pkg-config
Вывод
Ваша цель создать систему голосовых напоминаний для календаря Korganize, и с помощью вышеупомянутых шагов и устранения неполадок вы должны быть в состоянии установить нужные пакеты. Если ошибки продолжаются, советую внимательно проверить журналы ошибок (meson-log.txt
) для PyGObject, а также убедиться, что Python в вашей системе правильно настроен и обновлен.
Эти советы помогут вам продвинуться вперед в создании полезного и функционального Python-скрипта для голосового оповещения о встречах. Успехов в разработке!