通过Python + xmpppy发送消息:最小示例中的AttributeError

2 投票
1 回答
1070 浏览
提问于 2025-04-16 23:22

我在一个相关的问题中找到了一个简单的例子,用来通过xmpp(py)发送消息;见下文。但是当我运行这个脚本时,出现了以下错误:

   client = xmpp.Client('gmail.com')
AttributeError: 'module' object has no attribute 'Client'

我在使用Eclipse和PyDev,并且xmpppy应该已经安装好了。解释器包含了/usr/local/lib/python2.7/dist-packages/,我在那儿查找时发现了

 /usr/local/lib/python2.7/dist-packages/xmpppy-0.5.0rc1-py2.7.egg
 /usr/local/lib/python2.7/dist-packages/xmpppy-0.5.0rc1-py2.7.egg/xmpp

使用help('modules')也能看到xmpp模块。当我在Eclipse/PyDev中使用自动补全功能(CTRL + SPACE)时,实际上可以“看到”客户端。不过,我还是遇到了AttributeError错误。我想我这里可能漏掉了什么很简单的东西。

谢谢,

Christian

import xmpp

username = 'username'
passwd = 'password'
to='name@example.com'
msg='hello :)'

client = xmpp.Client('gmail.com')
client.connect(server=('talk.google.com',5223))
client.auth(username, passwd, 'botty')
client.sendInitPresence()
message = xmpp.Message(to, msg)
message.setAttr('type', 'chat')
client.send(message)

1 个回答

3

你把一个脚本命名为 xmpp.py。结果你在使用 import 时,不小心导入了这个脚本,而不是实际的 xmpp 模块。

只需要把这个脚本改个名字,其他的就应该没问题了。

撰写回答