我在制作第一个Spotify应用程序时遇到问题。我在树莓派上运行Arch。
我在目录中有__main__.py
和spotify_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/