2016-04-29 112 views
0

我在尝试将Google json文件导入到Google Cloud Compute Instance中的RethinkDB时出错,我不知道该如何处理此错误。任何帮助表示赞赏。这是错误:导入到RethinkDB时出错

[email protected]:~# rethinkdb import -f users_0.json --table test.users 
Traceback (most recent call last): 
    File "/usr/local/bin/rethinkdb-import", line 9, in <module> 
    load_entry_point('rethinkdb==2.3.0.post1', 'console_scripts', 'rethinkdb-import')() 
    File "/usr/local/lib/python2.7/dist-packages/rethinkdb/_import.py", line 929, in main 
    import_file(options) 
    File "/usr/local/lib/python2.7/dist-packages/rethinkdb/_import.py", line 904, in import_file 
    pkey = rdb_call_wrapper(conn_fn, "table check", table_check, db, table, options["create_args"], options["force"]) 
    File "/usr/local/lib/python2.7/dist-packages/rethinkdb/_backup.py", line 78, in rdb_call_wrapper 
    return fn(progress, conn, *args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/rethinkdb/_import.py", line 885, in table_check 
if not options["quiet"]: 
NameError: global name 'options' is not defined 

RethinkDB运行在与Docker相同的虚拟机上。我用这个命令实例化了它:

docker run -i -t -p 8080:8080 -p 28015:28015 -p 29015:29015 rethinkdb 
+0

嘿@BenSimmons,你应该更新你的Python驱动程序,因为此评论描述并再试一次。对这个错误感到抱歉! https://github.com/rethinkdb/rethinkdb/issues/5736#issuecomment-215922401 – dalanmiller

回答

0

他们正在使用他们还没有定义的变量。我从pypi中提取该版本的代码2.3.0.post1(包括下面的bug中的函数)。我也检查了版本2.2.0.post2,我没有看到那个bug,所以降级这个软件包,你应该没问题。

def table_check(progress, conn, db, table, create_args, force): 
    pkey = None 

if db == "rethinkdb": 
    raise RuntimeError("Error: Cannot import a table into the system database: 'rethinkdb'") 

if db not in r.db_list().run(conn): 
    r.db_create(db).run(conn) 

if table in r.db(db).table_list().run(conn): 
    if not force: 
     raise RuntimeError("Error: Table already exists, run with --force if you want to import into the existing table") 

    if 'primary_key' in create_args: 
     pkey = r.db(db).table(table).info()["primary_key"].run(conn) 
     if create_args["primary_key"] != pkey: 
      raise RuntimeError("Error: Table already exists with a different primary key") 
else: 
    if 'primary_key' in create_args: 
     pkey = create_args["primary_key"] 
    else: 
     if not options["quiet"]: 
      print("no primary key specified, using default primary key when creating table") 
    r.db(db).table_create(table, **create_args).run(conn) 

return pkey