Closed mannekeenpis closed 2 years ago
Попробуйте запустить Rhythmbox из терминала и активировать/найти в списке плагин. И пришлите, пожалуйста, что программа выдаст в терминале.
В данном случае система у вас не видит библиотеку yandex-music-api. Что у вас за дистрибутив?
В данном случае система у вас не видит библиотеку yandex-music-api. Что у вас за дистрибутив?
Ubuntu 20.04.4 LTS
Может попробовать установить библиотеку непосредственно из git через команду python?
git clone https://github.com/MarshalX/yandex-music-api
cd yandex-music-api
python setup.py install
Может попробовать установить библиотеку непосредственно из git через команду python?
git clone https://github.com/MarshalX/yandex-music-api cd yandex-music-api python setup.py install
Попробовал, получил ту же ошибку что на последнем скриншоте.
Попробуйте установить из папки, куда скачалась библиотека, с помощью команды (уточним версию python)
python3.8 setup.py install
Или лучше вот так установить
python3.8 -m pip install yandex-music
Попробуйте установить из папки, куда скачалась библиотека, с помощью команды (уточним версию python)
python38 setup.py install
Или лучше вот так установить
python38 -m pip install yandex-music
ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/snap/python38/22/usr/local'
Можете написать вывод следующих команд
ls /usr/bin/python*
ls /snap/python*
В системе много версий питона, Rhythmbox обращается к классической версии python 3.8, а команда python38 ведёт к snap версии пакета. Понять пытаюсь как тогда установить библиотеку в нужную версию питона.
Можете написать вывод следующих команд
ls /usr/bin/python* ls /snap/python*
В системе много версий питона, Rhythmbox обращается к классической версии python 3.8, а команда python38 ведёт к snap версии пакета. Понять пытаюсь как тогда установить библиотеку в нужную версию питона.
Давайте тогда попробуем вот так установить
/usr/bin/python3.8 -m pip install yandex-music
Давайте тогда попробуем вот так установить
/usr/bin/python3.8 -m pip install yandex-music
File "/usr/lib/python3/dist-packages/urllib3/util/queue.py", line 10, in
(rhythmbox:9413): libpeas-WARNING **: 20:00:18.392: Error loading plugin 'yandex-music'
(rhythmbox:9413): Gtk-WARNING **: 20:00:21.856: Can't set a parent on widget which has a parent
Попробуйте библиотеку requests ещё установить/обновить
python3.8 -m pip install requests --upgrade
Хотя это вряд ли поможет. Модуль Queue стандартный для Python и непонятно пока почему он у вас ошибку вызывает.
Попробовал на виртуальной машине и чистой Ubuntu 20.04 LTS запустить плагин в Rhythmbox. Для этого на чистой Ubuntu установил pip (почему-то пакет python3-pip ни в какую не захотел устанавливать)
$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py
модуль yandex-music
$ python3 -m pip install yandex-music
и данный плагин
$ wget https://github.com/dobroweb/rhythmbox-plugin-yandex-music/archive/refs/tags/0.2-alpha.tar.gz
$ tar -zxvf 0.2-alpha.tar.gz
$ mkdir -p ~/.local/share/rhythmbox/plugins/
$ mv rhythmbox-plugin-yandex-music* ~/.local/share/rhythmbox/plugins/yandex-music
И всё заработало корректно. Не понимаю тогда что у вас происходит с Python и почему он ругается на стандартный модуль свой.
Очень странный случай у меня. Попробовал снова всё как вы описали выше, результат тот же:
from .util.queue import LifoQueue
File "/usr/lib/python3/dist-packages/urllib3/util/queue.py", line 10, in <module>
class LifoQueue(queue.Queue):
AttributeError: module 'queue' has no attribute 'Queue'
А вот что происходит в терминале при установке:
При вводе python3 -m pip install yandex-music
python3 -m pip install yandex-music
Requirement already satisfied: yandex-music in ./anaconda3/lib/python3.9/site-packages (2.0.1)
Requirement already satisfied: requests[socks] in ./anaconda3/lib/python3.9/site-packages (from yandex-music) (2.26.0)
Requirement already satisfied: aiofiles in ./anaconda3/lib/python3.9/site-packages (from yandex-music) (0.8.0)
Requirement already satisfied: aiohttp in ./anaconda3/lib/python3.9/site-packages (from yandex-music) (3.8.1)
Requirement already satisfied: yarl<2.0,>=1.0 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (1.7.2)
Requirement already satisfied: attrs>=17.3.0 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (21.2.0)
Requirement already satisfied: frozenlist>=1.1.1 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (1.3.0)
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (2.0.4)
Requirement already satisfied: multidict<7.0,>=4.5 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (6.0.2)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (4.0.2)
Requirement already satisfied: aiosignal>=1.1.2 in ./anaconda3/lib/python3.9/site-packages (from aiohttp->yandex-music) (1.2.0)
Requirement already satisfied: idna<4,>=2.5 in ./anaconda3/lib/python3.9/site-packages (from requests[socks]->yandex-music) (3.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./anaconda3/lib/python3.9/site-packages (from requests[socks]->yandex-music) (1.26.7)
Requirement already satisfied: certifi>=2017.4.17 in ./anaconda3/lib/python3.9/site-packages (from requests[socks]->yandex-music) (2021.10.8)
Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in ./anaconda3/lib/python3.9/site-packages (from requests[socks]->yandex-music) (1.7.1)
При вводе wget https://github.com/dobroweb/rhythmbox-plugin-yandex-music/archive/refs/tags/0.2-alpha.tar.gz
wget https://github.com/dobroweb/rhythmbox-plugin-yandex-music/archive/refs/tags/0.2-alpha.tar.gz
--2022-04-11 16:54:05-- https://github.com/dobroweb/rhythmbox-plugin-yandex-music/archive/refs/tags/0.2-alpha.tar.gz
Распознаётся github.com (github.com)… 140.82.121.3
Подключение к github.com (github.com)|140.82.121.3|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 302 Found
Адрес: https://codeload.github.com/dobroweb/rhythmbox-plugin-yandex-music/tar.gz/refs/tags/0.2-alpha [переход]
--2022-04-11 16:54:05-- https://codeload.github.com/dobroweb/rhythmbox-plugin-yandex-music/tar.gz/refs/tags/0.2-alpha
Распознаётся codeload.github.com (codeload.github.com)… 140.82.121.9
Подключение к codeload.github.com (codeload.github.com)|140.82.121.9|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: нет данных [application/x-gzip]
Сохранение в: «0.2-alpha.tar.gz»
0.2-alpha.tar.gz [ <=> ] 17,21K --.-KB/s за 0,06s
2022-04-11 16:54:06 (283 KB/s) - «0.2-alpha.tar.gz» сохранён [17619]
При вводе tar -zxvf 0.2-alpha.tar.gz
tar -zxvf 0.2-alpha.tar.gz
rhythmbox-plugin-yandex-music-0.2-alpha/
rhythmbox-plugin-yandex-music-0.2-alpha/LICENSE
rhythmbox-plugin-yandex-music-0.2-alpha/README.md
rhythmbox-plugin-yandex-music-0.2-alpha/gschemas.compiled
rhythmbox-plugin-yandex-music-0.2-alpha/org.gnome.rhythmbox.plugins.yandex-music.gschema.xml
rhythmbox-plugin-yandex-music-0.2-alpha/po/
rhythmbox-plugin-yandex-music-0.2-alpha/po/ru.po
rhythmbox-plugin-yandex-music-0.2-alpha/yandex-music.plugin
rhythmbox-plugin-yandex-music-0.2-alpha/yandex-music.py
rhythmbox-plugin-yandex-music-0.2-alpha/yandex-music.svg
(base) lenar@lenar-MacBookAir:~$ mkdir -p ~/.local/share/rhythmbox/plugins/
(base) lenar@lenar-MacBookAir:~$ mv rhythmbox-plugin-yandex-music* ~/.local/share/rhythmbox/plugins/yandex-music
При запуске rhythmbox из терминала и при закрытии после активации плагина
rhythmbox
do_connect: could not connect to socket
connect: Нет такого файла или каталога
(rhythmbox:34634): Gtk-WARNING **: 16:55:16.855: actionhelper: action app.play-repeat can't be activated due to parameter type mismatch (parameter type NULL, target type b)
(rhythmbox:34634): Gtk-WARNING **: 16:55:16.856: actionhelper: action app.play-shuffle can't be activated due to parameter type mismatch (parameter type NULL, target type b)
(rhythmbox:34634): Rhythmbox-WARNING **: 16:55:17.131: Could not open device /dev/radio0
** (rhythmbox:34634): WARNING **: 16:55:24.811: Error importing plugin 'yandex-music':
Traceback (most recent call last):
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 848, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/lenar/.local/share/rhythmbox/plugins/yandex-music/yandex-music.py", line 2, in <module>
from yandex_music import Client
File "/home/lenar/.local/lib/python3.8/site-packages/yandex_music/__init__.py", line 137, in <module>
from .client import Client
File "/home/lenar/.local/lib/python3.8/site-packages/yandex_music/client.py", line 47, in <module>
from yandex_music.utils.request import Request
File "/home/lenar/.local/lib/python3.8/site-packages/yandex_music/utils/request.py", line 12, in <module>
import requests
File "/home/lenar/.local/lib/python3.8/site-packages/requests/__init__.py", line 43, in <module>
import urllib3
File "/usr/lib/python3/dist-packages/urllib3/__init__.py", line 7, in <module>
from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 53, in <module>
from .util.queue import LifoQueue
File "/usr/lib/python3/dist-packages/urllib3/util/queue.py", line 10, in <module>
class LifoQueue(queue.Queue):
AttributeError: module 'queue' has no attribute 'Queue'
(rhythmbox:34634): libpeas-WARNING **: 16:55:24.811: Error loading plugin 'yandex-music'
(rhythmbox:34634): Gtk-WARNING **: 16:55:36.329: Can't set a parent on widget which has a parent
После переустановки Ubuntu 20.04, плагин установился, всё замечательно работает! Спасибо вам за возможность слушать музыку через Rhythmbox.
Не удаётся активировать плагин в настройках Rhythmbox:
Расположение файлов:
Библиотеку yandex-music-api установил через pip, пробовал через pip3