Skip to content

Regression 2018-11-14 when using --pre flag with particular Pipfile syntax | TypeError: list indices must be integers or slices, not tuple #3315

@kavdev

Description

@kavdev

Issue description

I started getting the following error when attempting to use pipenv versions 2018-11-14 (still exists in 2018-11-26) when installing with the --pre flag: pipenv install --pre.

Expected result

Pipenv installs packages.

Actual result

Pipenv fails with TypeError (this is with the --verbose flag)

Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli/command.py", line 254, in install
    editable_packages=state.installstate.editables,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 1862, in do_install
    project.update_settings({"allow_prereleases": pre})
  File "/usr/local/lib/python3.6/site-packages/pipenv/project.py", line 583, in update_settings
    p["pipenv"] = settings
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/tomlkit/container.py", line 524, in __setitem__
    self.append(key, value)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/tomlkit/container.py", line 176, in append
    return self._insert_after(key_after, key, item)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/tomlkit/container.py", line 246, in _insert_after
    current_item = self._body[idx][1]
TypeError: list indices must be integers or slices, not tuple

Steps to replicate

  1. Ensure pipenv version 2018-11-26 is installed.
  2. Run pipenv install --pre
  3. Observe TypeError

Support diagnostics file available upon request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions