2017-04-16 117 views
2

我在编码方面比较新,我试图在我的Sikuli代码中使用PushBullet API(从Azelphur)。我用pip来安装PushBullet及其依赖项。下面的代码功能完美地在Atom编辑器,但在命中错误Sikuli:Sikuli使用Python模块生成AttributeError(PushBullet)

import sys 
sys.path.append("/Library/Python/2.7/site-packages") 
sys.path.append("/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python") 

:在Sikuli IDE我已经添加了这些路径(它无法找到之前的模块)

from pushbullet.pushbullet import pushbullet 

apiKey = "EXAMPLE" 
send = PushBullet(apiKey) 

devices = send.getDevices() 

send.pushNote(devices[0]["iden"], "Hello World", "Test") 

但是它返回:

[error] script [ pushsample ] stopped with error in line 5 
[error] AttributeError ('module' object has no attribute 'SOL_TCP') 
[error] --- Traceback --- error source first 
line: module (function) statement 
30: _socket (<module>) DEFAULT_SOCKET_OPTION = [(socket.SOL_TCP, socket.TCP_NODELAY, 1)] 
31: _http (<module>) from ._socket import* 
29: _handshake (<module>) from ._http import * 
33: _core (<module>) from ._handshake import * 
35: _app (<module>) from ._core import WebSocket, getdefaulttimeout 
23: __init__ (<module>) from ._app import WebSocketApp 
18: pushbullet (<module>) from websocket import create_connection 
[error] --- Traceback --- end -------------- 

为什么它的Atom工作,但不Sikuli IDE(现在我已经添加了路径)?感谢您的任何想法!

回答

0

Sikuli基于Jython,不是标准的Python。也许Atom使用Python解释器来运行代码,但Sikuli IDE使用Jython解释器,这可能是它看不到模块并且无法运行它的原因。

您可能想要查看jpushbullet(https://github.com/silk8192/jpushbullet)以及如何在Jython/Sikuli中混合使用Java和Python代码。

相关问题