我在制作第一个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的作者在这里:-)

dano是正确的:似乎您正在阅读v2.x文档并正在使用v1.x。 v2.x是一个完全重写,其中使用了不同的API,并希望它们可以使用很多更简单的API,因此必须使用与您的代码版本相匹配的文档:


最新的v2.x版本:http://pyspotify.mopidy.com/en/latest/
v2.0.0b1文档:http://pyspotify.mopidy.com/en/v2.0.0b1/
v1.11文档:http://pyspotify.mopidy.com/en/v1.11/


在这一点上,我建议对所有新应用程序使用v2.x。 v2.x API易于使用,可以在更多Python版本上使用,涵盖了完整的libspotify API,并且得到了积极维护。昨天发布了第一个beta版本v2.0.0b1。最终的v2.0.0版本可能只有几个星期了。

如果要立即在Arch上运行pyspotify v2.x,可以使用yaourt安装libspotify:

sudo yaourt -S libspotify


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

sudo pacman -S base-devel


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

pip install --pre pyspotify


在发布pyspotify 2.0.0 final之前,必须使用--pre标志。

有关更多详细信息,请参见http://pyspotify.mopidy.com/en/latest/installation/

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

关于python - pyspotify的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23278452/

10-09 14:30