quantopian / pgcontents

A Postgres-backed ContentsManager implementation for Jupyter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error initializing DB with pgcontents 0.5.2

jiffyclub opened this issue · comments

I get the following error when running pgcontents init with version 0.5.2:

> pgcontents init --db-url=postgresql://mattdavis@localhost:5432/pgcontents
Initializing pgcontents...

About to run schema migrations against supplied database URL.  If you have
stored data from a previous pgcontents installation, it may not be
correctly preserved.

It is *HIGHLY* recommended that you back up stored data before proceeding.

Proceed? [y/N]: y
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
Traceback (most recent call last):
  File "/Users/mattdavis/miniconda3/envs/pgcontents/bin/alembic", line 11, in <module>
    sys.exit(main())
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/config.py", line 479, in main
    CommandLine(prog=prog).main(argv=argv)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/config.py", line 473, in main
    self.run_cmd(cfg, options)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/config.py", line 456, in run_cmd
    **dict((k, getattr(options, k, None)) for k in kwarg)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/command.py", line 254, in upgrade
    script.run_env()
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/base.py", line 425, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/util/pyfiles.py", line 93, in load_python_file
    module = load_module_py(module_id, path)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/util/compat.py", line 64, in load_module_py
    module_id, path).load_module(module_id)
  File "<frozen importlib._bootstrap_external>", line 399, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 823, in load_module
  File "<frozen importlib._bootstrap_external>", line 682, in load_module
  File "<frozen importlib._bootstrap>", line 251, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/pgcontents/alembic/env.py", line 82, in <module>
    run_migrations_online()
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/pgcontents/alembic/env.py", line 74, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/runtime/environment.py", line 836, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/runtime/migration.py", line 321, in run_migrations
    for step in self._migrations_fn(heads, self):
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/command.py", line 243, in upgrade
    return script._upgrade_revs(revision, rev)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/base.py", line 334, in _upgrade_revs
    revs = list(revs)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/revision.py", line 653, in _iterate_revisions
    uppers = util.dedupe_tuple(self.get_revisions(upper))
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/revision.py", line 301, in get_revisions
    resolved_id, branch_label = self._resolve_revision_number(id_)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/revision.py", line 434, in _resolve_revision_number
    self._revision_map
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/util/langhelpers.py", line 240, in __get__
    obj.__dict__[self.__name__] = result = self.fget(obj)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/revision.py", line 122, in _revision_map
    for revision in self._generator():
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/alembic/script/base.py", line 90, in _load_revisions
    for file_ in os.listdir(vers):
FileNotFoundError: [Errno 2] No such file or directory: '/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/pgcontents/alembic/versions'
Traceback (most recent call last):
  File "/Users/mattdavis/miniconda3/envs/pgcontents/bin/pgcontents", line 201, in <module>
    main()
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/bin/pgcontents", line 98, in init
    upgrade(db_url, revision)
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/pgcontents/utils/migrate.py", line 40, in upgrade
    ['alembic', '-c', alembic_ini, 'upgrade', revision]
  File "/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/subprocess.py", line 291, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['alembic', '-c', '/var/folders/x6/p7mnf01514l7nkl52k9mlbbh0000gp/T/tmp0aie1_01/temp_alembic.ini', 'upgrade', 'head']' returned non-zero exit status 1.

The relevant line is FileNotFoundError: [Errno 2] No such file or directory: '/Users/mattdavis/miniconda3/envs/pgcontents/lib/python3.6/site-packages/pgcontents/alembic/versions'. That directory is present in the github repo, but I checked the tarball from PyPI and that directory is missing.

@jiffyclub I can reproduce this; guessing we're missing something in the package manifest...I'm not sure how this worked in earlier releases...

I am also facing the same issue, is it fixed?

I too face the error. Can you please help to fix this issue or any solution to temporarily fix?

I just published v0.5.3 that fixes the missing alembic migration files. They appear to have been present in 0.5.1, so I'm not sure how they got lost in 0.5.3. At any rate, this should be fixed on the latest release, so closing this.