Can';t让pebble javascript模拟器(pypkjs)运行

Can';t让pebble javascript模拟器(pypkjs)运行,javascript,python,pebble-watch,pebble-sdk,pebble-js,Javascript,Python,Pebble Watch,Pebble Sdk,Pebble Js,我正在尝试设置PebbleKit JS模拟器,使其能够在没有Pebble手表的情况下完全开发。我按照他们网站上的指示安装了模拟器,但是当按照他们github上的指示运行模拟器时,我发现了错误,我无法解释原因。我重新安装了好几次,错误依然存在。(我安装了QEMU模拟器,它工作正常) JS模拟器似乎无法连接到QEMU模拟器。这是我在没有打开QEMU的情况下运行时的终端输出。/phonesim.py: Namespace(debug=False, layout=None, oauth=None, pb

我正在尝试设置PebbleKit JS模拟器,使其能够在没有Pebble手表的情况下完全开发。我按照他们网站上的指示安装了模拟器,但是当按照他们github上的指示运行模拟器时,我发现了错误,我无法解释原因。我重新安装了好几次,错误依然存在。(我安装了QEMU模拟器,它工作正常)

JS模拟器似乎无法连接到QEMU模拟器。这是我在没有打开QEMU的情况下运行时的终端输出。/phonesim.py:

Namespace(debug=False, layout=None, oauth=None, pbws=[], persist=None, port=9000, qemu='127.0.0.1:12344', ssl_root=None, token=None)
['127.0.0.1', '12344']
INFO:pypkjs:Ready. Loaded apps:
Traceback (most recent call last):
  File "./phonesim.py", line 31, in <module>
    runner.run()
  File "/Users/manuelburger/pypkjs/runner/websocket.py", line 56, in run
    pebble_greenlet = self.pebble.connect()
  File "/Users/manuelburger/pypkjs/pebble_manager.py", line 29, in connect
    self.pebble.connect()
  File "/Library/Python/2.7/site-packages/libpebble2/communication/__init__.py", line 56, in connect
    self.transport.connect()
  File "/Library/Python/2.7/site-packages/libpebble2/communication/transports/qemu/__init__.py", line 53, in connect
    raise ConnectionError(str(e))
libpebble2.exceptions.ConnectionError: [Errno 61] Connection refused
名称空间(debug=False,layout=None,oauth=None,pbws=[],persist=None,port=9000,qemu='127.0.0.1:12344',ssl_root=None,token=None)
['127.0.0.1', '12344']
信息:pypkjs:准备好了。已加载的应用程序:
回溯(最近一次呼叫最后一次):
文件“/phonesim.py”,第31行,在
runner.run()
文件“/Users/manuelburger/pypkjs/runner/websocket.py”,第56行,运行中
pebble\u greenlet=self.pebble.connect()
文件“/Users/manuelburger/pypkjs/pebble_manager.py”,第29行,在connect中
self.pebble.connect()
文件“/Library/Python/2.7/site packages/libpebble2/communication/_init__.py”,第56行,在connect中
self.transport.connect()
文件“/Library/Python/2.7/site packages/libpebble2/communication/transports/qemu/_init__.py”,第53行,在connect中
升起连接器错误(str(e))
libpebble2.exceptions.ConnectionError:[Errno 61]连接被拒绝
这是运行时的输出。/jskit.py localhost:12344 watchface1.pbw,QEMU运行watchface1.pbw:

['localhost', '12344']
Traceback (most recent call last):
  File "./jskit.py", line 28, in <module>
    runner = TerminalRunner(sys.argv[1], sys.argv[2:], "data")
  File "/Users/manuelburger/pypkjs/runner/terminal.py", line 15, in __init__
    super(TerminalRunner, self).__init__(*args, **kwargs)
  File "/Users/manuelburger/pypkjs/runner/__init__.py", line 37, in __init__
    self.timeline = PebbleTimeline(self, persist=persist_dir, oauth=oauth_token, layout_file=layout_file)
  File "/Users/manuelburger/pypkjs/timeline/__init__.py", line 33, in __init__
    model.prepare_db(self.persist_dir + '/timeline.db')
  File "/Users/manuelburger/pypkjs/timeline/model.py", line 312, in prepare_db
    db.connect()
  File "/Library/Python/2.7/site-packages/peewee.py", line 2811, in connect
    self.__local.closed = False
  File "/Library/Python/2.7/site-packages/peewee.py", line 2732, in __exit__
    reraise(new_type, new_type(*exc_value.args), traceback)
  File "/Library/Python/2.7/site-packages/peewee.py", line 2810, in connect
    **self.connect_kwargs)
  File "/Library/Python/2.7/site-packages/peewee.py", line 3016, in _connect
    conn = sqlite3.connect(database, **kwargs)
peewee.OperationalError: unable to open database file
['localhost','12344']
回溯(最近一次呼叫最后一次):
文件“/jskit.py”,第28行,在
runner=TerminalRunner(sys.argv[1],sys.argv[2:],“数据”)
文件“/Users/manuelburger/pypkjs/runner/terminal.py”,第15行,在__
超级(终端跑步者,自我)。\uuuuu初始值(*args,**kwargs)
文件“/Users/manuelburger/pypkjs/runner/_init__.py”,第37行,在_init中__
self.timeline=PebbleTimeline(self,persist=persist\u dir,oauth=oauth\u令牌,layout\u文件=layout\u文件)
文件“/Users/manuelburger/pypkjs/timeline/_init__.py”,第33行,在_init中__
model.prepare_db(self.persist_dir+'/timeline.db')
文件“/Users/manuelburger/pypkjs/timeline/model.py”,第312行,在prepare_db中
db.connect()
文件“/Library/Python/2.7/site packages/peewee.py”,第2811行,在connect中
self.\uu local.closed=False
文件“/Library/Python/2.7/site packages/peewee.py”,第2732行,在退出时__
重新释放(新类型,新类型(*exc\u value.args),回溯)
文件“/Library/Python/2.7/site packages/peewee.py”,第2810行,在connect中
**自我连接(kwargs)
文件“/Library/Python/2.7/site packages/peewee.py”,第3016行,在_connect中
conn=sqlite3.connect(数据库,**kwargs)
peewee.OperationalError:无法打开数据库文件

非常感谢您为解决此问题提供的任何帮助和建议。

我发现了以下几点:

  • 我的默认端口不是12344。运行“ps-ax | grepqemu”时,您可以看到正在使用的端口。Mine通过“localhost:41968”进行连接。也许有更好的方法获得qemu的实际端口,但这是可行的

  • 对于phonesim.py,您需要指定到qemu的连接和端口,您也可以从上面ps命令的输出中复制该端口。例如,在我的例子中,除非以“./phonesim.py--qemu localhost:41968”运行它,否则它将失败

  • jskit尝试打开数据库“data/timeline.db”失败,因此需要在运行jskit的文件夹中创建一个名为“data”的子目录。如果jskit为您创建了该文件夹,那就太好了,但它似乎没有

  • 希望有帮助