【问题标题】:Problems with pyspotifypyspotify 的问题
【发布时间】:2014-06-10 07:15:13
【问题描述】:

我在尝试制作我的第一个 Spotify 应用时遇到了问题。我在树莓派上,运行 Arch。

我的__main__.pyspotify_appkey.key 在一个目录中,我通过[root@RPI]# python2 __main__.py 运行它

__main__.py 中的代码如下所示:

import spotify
print "1"
session = spotify.Session()
print "2"
try:
    session.login('myUsername', 'myPassword')
    print "3"
except IOError as e:
    print "error({0}): {1}".format(e.errno, e.strerror)

这给了我这个输出:

1
2
Segmentation fault (core dumped)

阅读此link,我也尝试过:

import spotify
print "1"
session = spotify.Session()
print "2"
config = spotify.Config()
print "3"
try:
    session.login('myUsername', 'myPassword')
    print "4"
except IOError as e:
    print "error({0}): {1}".format(e.errno, e.strerror)

这给了我这个:

1
2
Traceback ..... yada yada ...
    File "__main__.py" ... yada yada...
        config = spotify.Config()
AttributeError: 'module' object has no attribute 'Config'

我做错了什么?

【问题讨论】:

  • 也许您使用的是旧版本的 pyspotify?看起来 Config 类是最近才添加的:github.com/mopidy/pyspotify/commit/…。段错误表明 libspotify 存在问题,或者 pyspotify 使用 libspotify 的方式存在问题(这可能是由于每个库的版本之间不兼容)。我会确保您拥有每个版本的最新版本。
  • 我用 yaourt 安装了它。 'find -name *pyspotify*' 给了我两个结果,一个是名为 pyspotify-1.11-1 的目录,另一个是具有相同版本号的 .egg-info 文件?但是我在安装它时遇到了一些麻烦,所以它可能是另一个正在运行的版本...我如何检查它尝试运行的版本...?编辑:libspotify 是 12.1.103-2。坚持这个原因?
  • 根据 pyspotify 网站,1.11 版是从 2013 年 7 月开始的。最新版本(以及他们网站上记录的版本)是 2.0.0a1。如果你要坚持使用旧版本,你也需要使用旧文档:pyspotify.mopidy.com/en/v1.x-develop
  • 看来 armv6 上还没有对 2.0.0a1 的支持,至少还没有包安装程序。所以现在我坚持使用 1.11。此版本和 libspotify 12.1.103-2 是否存在兼容性错误?由于 pyspotify 的软件包安装程序,它对每个必需的软件包都说“已安装”,所以它应该可以工作..?

标签: python spotify spotify-app


【解决方案1】:

pyspotify 的作者在这里 :-)

dano 是对的:您似乎正在阅读 v2.x 文档并使用 v1.x。 v2.x 完全重写了不同的 API,希望使用更简单的 API,因此您必须使用与您编码的版本相匹配的文档:

此时,我建议对所有新应用程序使用 v2.x。 v2.x API 更易于使用,适用于更多 Python 版本,涵盖了完整的 libspotify API,并且得到了积极维护。第一个测试版 v2.0.0b1 于昨天发布。最终的 v2.0.0 版本有望在几周后发布。

如果你想马上在 Arch 上运行 pyspotify v2.x,你可以使用 yaourt 安装 libspotify:

sudo yaourt -S libspotify

使用 pacman 安装 pyspotify 构建依赖项:

sudo pacman -S base-devel

然后使用 pip 安装最新的 pyspotify beta 版本(在 virtualenv 中或使用 sudo):

pip install --pre pyspotify

在 pyspotify 2.0.0 最终版发布之前,--pre 标志是必需的。

更多详情请见http://pyspotify.mopidy.com/en/latest/installation/

pyspotify v2.x 可能会在最终发布后不久出现在 AUR 中。

【讨论】:

  • v2.x 版本不支持 python 2 吗?当我尝试使用 python2 运行它时,我得到“没有名为 spotify 的模块”,但在 python3 上,我至少得到其他错误:)
  • pyspotify v2.x 适用于 CPython 2.7、3.2、3.3、3.4 以及 PyPy 2.1 和 2.2。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多