首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行pebble javascript模拟器(pypkjs)

无法运行pebble javascript模拟器(pypkjs)
EN

Stack Overflow用户
提问于 2015-10-11 04:10:19
回答 1查看 291关注 0票数 0

我正在尝试设置PebbleKit JS模拟器,以便能够在没有Pebble-Watch本身的情况下完全开发。我按照他们的github repo上的指示安装了模拟器,但是当我按照他们的github上的指示运行模拟器时,我收到了错误,我找不到原因。我重新安装了几次,错误仍然存在。(我已经安装了QEMU-Emulator,它工作正常)

似乎JS-Simulator无法连接到QEMU-Emulator。下面是我在运行./phonesim.py时没有打开QEMU时的终端输出:

代码语言:javascript
复制
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

这是运行./jskit.py localhost:12344 watchface1.pbw时的输出,其中QEMU运行watchface1.pbw:

代码语言:javascript
复制
['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

对于解决这个问题的任何帮助和建议,我们都非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2015-10-13 14:48:39

我发现了几件事:

  1. 我的默认端口不是12344。在运行时运行'ps -ax | grep qemu‘,您可以看到正在使用哪个端口。我的是通过'localhost:41968‘连接的。可能有一种更好的方法来获取qemu的实际端口,但这是可行的。对于phonesim.py,您需要指定到qemu的连接和端口,您也可以从上面的ps命令的输出中复制该端口。例如,在我的例子中,它失败了,除非我运行它为'./phonesim.py --qemu localhost:41968'
  2. jskit尝试打开数据库'data/timeline.db‘失败,所以你需要在你运行jskit的文件夹中创建一个名为'data’的子目录。如果jskit为你创建了这个文件夹就好了,但它似乎不是。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33058491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档