Ошибка импорта в RethinkDB

Я получаю сообщение об ошибке при попытке импортировать файл json в RethinkDB на экземпляре Google Cloud Compute, и я понятия не имею, что делать с этой ошибкой. Любая помощь приветствуется. Вот ошибка:

root@my-server-name:~# 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

person Ben Simmons    schedule 29.04.2016    source источник
comment
Привет, @BenSimmons, тебе следует обновить драйвер Python, как описано в этом комментарии, и попробовать еще раз. Извините за эту ошибку! github.com/rethinkdb/rethinkdb/issues/   -  person dalanmiller    schedule 02.05.2016


Ответы (1)


Они используют переменную, которую не определили. Я вытащил код для этой версии 2.3.0.post1 из pypi (включил функцию с ошибкой ниже). Я также проверил версию 2.2.0.post2 и не вижу там этой ошибки, поэтому понизьте версию этого пакета, и все будет в порядке.

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
person Doug Royal    schedule 30.04.2016