无法在 Rhythmbox 3.00 ubuntu 13.10 上启用 Google 音乐插件 - python 错误

无法在 Rhythmbox 3.00 ubuntu 13.10 上启用 Google 音乐插件 - python 错误

我在 ubuntu 13.10 中的 Rythmbox 3.00 上启用 gmusic 插件时遇到问题,它在 Rythmbox 2.9 中可以运行,但现在它停止工作了,尝试使用 PPA 和 PIP 安装,但都失败了。

我通过 apt 程序安装了该插件:

598  sudo add-apt-repository ppa:nvbn-rm/ppa
599  sudo apt-get update
600  sudo apt-get install rhythmbox-gmusic

然后尝试了 PIP 程序:

621  sudo apt-get install python-pip git-core
622  sudo pip install gmusicapi
623  sudo pip install git+https://github.com/nvbn/rhythmbox-gmusic.git#egg=rhythmbox-gmusic

最后,我使用了 --upgrade PIP 选项:

639  sudo pip install gmusicapi --upgrade
642  sudo pip install git+https://github.com/nvbn/rhythmbox-gmusic.git#egg=rhythmbox-gmusic --upgrade

我收到以下错误,我认为这与 python 版本有关:

(rhythmbox:30192): libpeas-WARNING **: Could not find loader 'python' for plugin 'rhythmboxgmusic'

此错误与以下情况相关无法启用 Rhythmbox 的 Google 音乐插件但此解决方法不适用于 Rhythmbox 3.0

*** 更新:coverart 也受到影响,尝试编辑 /usr/lib/rhythmbox/plugins 下的插件以指定 python 版本(尝试过 python、python2、python2.7、python3 和 python3.3)但没有成功。

(rhythmbox:5435): libpeas-WARNING **: Could not find loader 'python' for plugin 'coverart_search_providers'

*** 更新:我更改了插件以指定 python 3 我得到了不同的日志:

Unable to open ~/.mtpz-data for reading, MTPZ disabled.ImportError: No module named 'rhythmboxgmusic'

(rhythmbox:5798): libpeas-WARNING **: Error loading plugin 'rhythmboxgmusic'

*** 更新:/usr/lib/rhythmbox/plugin/rhythmbox-gmusic 文件夹的内容如下(这里是我更改了 python 命令的地方):

SivArt@ThinkPad-T410i:/usr/lib/rhythmbox/plugins/googleplaymusic$ ls -lash
total 12K
4.0K drwxr-xr-x  2 root root 4.0K Dec  8 02:25 .
4.0K drwxr-xr-x 33 root root 4.0K Dec  8 02:43 ..
4.0K -rw-r--r--  1 root root  264 Dec  8 03:08 googleplaymusic.plugin

googleplaymusic.plugin 文件:

[Plugin]
Loader=python 
Module=rhythmboxgmusic
Depends=rb
IAge=2
Name=Google Play Music Plugin
Description=Listen to music form Goolge Play
Authors=Vladimir Iakovlev <[email protected]>
Copyright=Copyright © 2012
Website=https://github.com/nvbn/rhythmbox-gmusic/

*** 更新:刚刚按建议进行了更改:

[Plugin]
Loader=python3
Module=rhythmboxgmusic.plugin
Depends=rb
IAge=2
Name=Google Play Music Plugin
Description=Listen to music form Goolge Play
Authors=Vladimir Iakovlev <[email protected]>
Copyright=Copyright © 2012
Website=https://github.com/nvbn/rhythmbox-gmusic/

但现在错误不同了:

SivArt@ThinkPad-T410i:~$ rhythmbox

(rhythmbox:1590): Gtk-CRITICAL **: gtk_css_provider_load_from_path: assertion 'path != NULL' failed

(rhythmbox:1590): GLib-GObject-CRITICAL **: Custom constructor for class SoupServer returned NULL (which is invalid).  Unable to remove object from construction_objects list, so memory was probably just leaked.  Please use GInitable instead.
Rhythmbox: could not connect to socket
Rhythmbox: No such file or directory

(rhythmbox:1590): Grilo-WARNING **: [registry] grl-registry.c:440: Could not open plugins' info directory '/usr/lib/x86_64-linux-gnu/grilo-0.2': Error opening directory '/usr/lib/x86_64-linux-gnu/grilo-0.2': No such file or directory

(rhythmbox:1590): Rhythmbox-WARNING **: Failed to load Grilo plugins: All configured plugin paths are invalid

(rhythmbox:1590): Rhythmbox-WARNING **: Could not open device /dev/radio0
Unable to open ~/.mtpz-data for reading, MTPZ disabled.ImportError: No module named 'rhythmboxgmusic'

(rhythmbox:1590): libpeas-WARNING **: Error loading plugin 'rhythmboxgmusic.plugin'

谢谢!SivArt

答案1

即使你像之前那样更改加载器并让其加载插件,它也不会起作用。Rhythmbox 3.x 使用 Python 3.4,而为 Rhythmbox 2.99 或更早版本编写的大多数插件都是用 python2 编写的。

至少就 Google Play 音乐插件而言,它依赖于Simon Weber 的非官方 Google 音乐 API.gmusicapi 至少依赖一个库(诱变剂,也就是说,可能会有更多的) 仅为 python2 编写,没有任何“官方”的 python3 版本,因此暂时,gmusicapi 以及这个插件将仅在 python2 下运行,而无需自己破解模块。

我在 Github 上的 Simon 仓库上开了一个问题询问这个问题;等待回复。

相关内容