Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RuntimeError: maximum recursion depth exceeded #673

Closed
philfreo opened this issue Sep 23, 2017 · 47 comments
Closed

RuntimeError: maximum recursion depth exceeded #673

philfreo opened this issue Sep 23, 2017 · 47 comments

Comments

@philfreo
Copy link
Contributor

philfreo commented Sep 23, 2017

Trying to convert my production app, I get a recursion error:

$ cat requirements.txt | wc -l
     201

$ pipenv lock   
Requirements.txt found, instead of Pipfile! Converting…
Traceback (most recent call last):
  File "/Users/philfreo/Library/Python/2.7/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/cli.py", line 1787, in lock
    ensure_project(three=three, python=python)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/cli.py", line 577, in ensure_project
    ensure_pipfile(validate=validate)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/cli.py", line 291, in ensure_pipfile
    import_requirements()
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/cli.py", line 251, in import_requirements
    project.add_package_to_pipfile(str(package.req), dev=dev)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/project.py", line 413, in add_package_to_pipfile
    p = self._pipfile
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/project.py", line 212, in _pipfile
    pfile = self.parsed_pipfile
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/project.py", line 207, in parsed_pipfile
    return contoml.loads(contents)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/contoml/__init__.py", line 15, in loads
    elements = parse_tokens(tokens)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 17, in parse_tokens
    return _parse_token_stream(TokenStream(tokens))
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 29, in _parse_token_stream
    elements, pending = toml_file_elements(token_stream)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
 
.......... middle of very large stack trace omitted (lmk if you want the full version) ......

    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 98, in more
    c = capture_from(ts).find(token(token_type)).and_find(zero_or_more_tokens(token_type))
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 58, in factory
    raise ParsingError('Expected a token of type {}'.format(token_type))
  File "/Users/philfreo/Library/Python/2.7/lib/python/site-packages/pipenv/patched/prettytoml/tokens/__init__.py", line 30, in __repr__
    return "{}-{}".format(self.priority, self._name)
RuntimeError: maximum recursion depth exceeded

It makes some good progress before crashing:

$ cat Pipfile | wc -l 
     193
@kennethreitz
Copy link
Contributor

hmm, i'm not sure why. You might want to convert the file by hand — it wouldn't take too long. or, break it into smaller chunks and use pipenv install -r smaller-chunk.txt.

@kennethreitz
Copy link
Contributor

this may just be a limitation of the way our toml library is designed.

@kennethreitz
Copy link
Contributor

I'd try the smaller chunk approach, break it into 4 files or so.

@philfreo
Copy link
Contributor Author

thx, will try that.

@philfreo
Copy link
Contributor Author

I split it up among 4 files. First 3 succeeded. 4th one failed with the same error. I tried splitting that into even smaller files but the same thing happened.

Basically, after having installed a certain number of packages, installing even 1 more package fails with recursion error. Doesn't matter which package.

After having installed a bunch of packages:

wc -l requirements-original.txt Pipfile Pipfile.lock
     201 requirements-original.txt
     193 Pipfile
    1436 Pipfile.lock

Then installing any one more package gives this:

pipenv install python-baseconv==1.2.0
Traceback (most recent call last):
  File "/Users/philfreo/.local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1593, in install
    ensure_project(three=three, python=python, system=system, warn=True)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 552, in ensure_project
    if project.required_python_version:
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/project.py", line 59, in required_python_version
    required = self.parsed_pipfile.get('requires', {}).get('python_full_version')
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/project.py", line 213, in parsed_pipfile
    return contoml.loads(contents)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/contoml/__init__.py", line 15, in loads
    elements = parse_tokens(tokens)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 17, in parse_tokens
    return _parse_token_stream(TokenStream(tokens))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 29, in _parse_token_stream
    elements, pending = toml_file_elements(token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 365, in file_entry_element
    or_find(table_body_element)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 79, in or_find
    return Capturer(self._token_stream).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 349, in table_body_element
    captured = capture_from(token_stream).find(table_body_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 341, in table_body_elements
    or_find(two).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 79, in or_find
    return Capturer(self._token_stream).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 336, in two
    and_find(table_body_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 340, in table_body_elements
    find(one).\

...... repeating pattern .....

  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 79, in or_find
    return Capturer(self._token_stream).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 335, in two
    find(empty_line_elements).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 359, in empty_line_elements
    captured = capture_from(token_stream).find(empty_line_tokens)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 354, in empty_line_tokens
    c1 = capture_from(ts1).find(space_element).and_find(line_terminator_element)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 115, in space_element
    captured = capture_from(token_stream).find(zero_or_more_tokens(tokens.TYPE_WHITESPACE))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 108, in factory
    captured = capture_from(token_stream).find(more).or_find(two).or_find(zero)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 98, in more
    c = capture_from(ts).find(token(token_type)).and_find(zero_or_more_tokens(token_type))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 113, in capture_from
    return Capturer(token_stream)
RuntimeError: maximum recursion depth exceeded

@fruch
Copy link

fruch commented Sep 24, 2017

just out of curiosity, what are you building there with 201 dependencies? (only seen such things in node.js till now ;))

@philfreo
Copy link
Contributor Author

philfreo commented Sep 24, 2017

It’s https://close.io. We don’t have 201 direct dependences, but we were using pip’s --no-deps option to get more of a guarantee that subdependency versions wouldn’t randomly change on us and break something unexpectedly in production.

After porting to pipenv, I expect to be able to remove the subdependencies from Pipfile due to the safety provided by Pipfile.lock. However I want to do that as a subsequent step in order to avoid a bunch of subdependency version bumps that would be too large of a change all at once. And my assumption is the recursion error here is based on Pipfile.lock’s size which wouldn’t shrink anyway.

@kennethreitz
Copy link
Contributor

I'll see about falling back to the second parser today. Having your pipfile handy would be great.

@kennethreitz kennethreitz reopened this Sep 24, 2017
@kennethreitz
Copy link
Contributor

okay v7.8.2 released, which falls back to another parser if this one fails.

@kennethreitz
Copy link
Contributor

This should (hopefully) fix your issue

@kennethreitz
Copy link
Contributor

to be clear, we're using contoml in attempt to preserve comments in the pipfile.

@kennethreitz
Copy link
Contributor

it appears to choke on large files though, so i made the code fallback to 'toml' parser when that one fails.

@kennethreitz
Copy link
Contributor

Closing, as i believe this is now fixed.

@kennethreitz
Copy link
Contributor

Confirmed working with a 196 line toml file. that wasn't easy to make.

@kennethreitz
Copy link
Contributor

FYI, pipenv automatically uses --no-deps, so you might be able to prune this file a bit.

@philfreo
Copy link
Contributor Author

fyi I tried again on 7.8.3 and I get the same error when trying to install 1 more package.

wc -l Pipfile
     276 Pipfile

I'm going to try to prune Pipfile of subdependencies.

@kennethreitz
Copy link
Contributor

can you show the exception?

@kennethreitz
Copy link
Contributor

that's an outrageously large Pipfile

@kennethreitz
Copy link
Contributor

maybe our other parser can't handle it either

@philfreo
Copy link
Contributor Author

philfreo commented Sep 24, 2017

Yeah, I'm going to work on making it smaller.

$ pipenv install zbase32==1.1.5
Traceback (most recent call last):
  File "/Users/philfreo/.local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1614, in install
    ensure_project(three=three, python=python, system=system, warn=True)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 570, in ensure_project
    if project.required_python_version:
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/project.py", line 59, in required_python_version
    required = self.parsed_pipfile.get('requires', {}).get('python_full_version')
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/project.py", line 211, in parsed_pipfile
    return contoml.loads(toml.dumps(data, preserve=True))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/contoml/__init__.py", line 15, in loads
    elements = parse_tokens(tokens)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 17, in parse_tokens
    return _parse_token_stream(TokenStream(tokens))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 29, in _parse_token_stream
    elements, pending = toml_file_elements(token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 375, in toml_file_elements
    captured = capture_from(token_stream).find(one).or_find(file_entry_element).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 372, in one
    c1 = capture_from(ts1).find(file_entry_element).and_find(toml_file_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)

........... more .........


  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 340, in table_body_elements
    find(one).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 330, in one
    and_find(table_body_elements)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 340, in table_body_elements
    find(one).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 329, in one
    find(key_value_pair).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 317, in key_value_pair
    and_find(value).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 202, in value
    or_find(inline_table_element)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 79, in or_find
    return Capturer(self._token_stream).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 303, in inline_table_element
    and_find(internal).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 297, in internal
    c = capture_from(ts).find(one).or_find(key_value).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 294, in one
    and_find(internal)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 297, in internal
    c = capture_from(ts).find(one).or_find(key_value).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 294, in one
    and_find(internal)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 297, in internal
    c = capture_from(ts).find(one).or_find(key_value).or_empty()
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 290, in one
    find(key_value).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 281, in key_value
    and_find(space_element).\
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 115, in space_element
    captured = capture_from(token_stream).find(zero_or_more_tokens(tokens.TYPE_WHITESPACE))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 108, in factory
    captured = capture_from(token_stream).find(more).or_find(two).or_find(zero)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 98, in more
    c = capture_from(ts).find(token(token_type)).and_find(zero_or_more_tokens(token_type))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 109, in and_find
    return Capturer(self.pending_tokens, self.value()).find(finder)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 108, in factory
    captured = capture_from(token_stream).find(more).or_find(two).or_find(zero)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 98, in more
    c = capture_from(ts).find(token(token_type)).and_find(zero_or_more_tokens(token_type))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/recdesc.py", line 33, in find
    element, pending_ts = finder(self._token_stream)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/patched/prettytoml/parser/parser.py", line 58, in factory
    raise ParsingError('Expected a token of type {}'.format(token_type))
RuntimeError: maximum recursion depth exceeded

@kennethreitz
Copy link
Contributor

weird, it should be using the other parser. let me take a look.

kennethreitz added a commit that referenced this issue Sep 24, 2017
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
@kennethreitz
Copy link
Contributor

try v7.8.5

@philfreo
Copy link
Contributor Author

philfreo commented Sep 24, 2017

Trying.

Sidenote: When I run pipenv install -r requirements-original.txt and then it says "Discovering imports from local codebase…" I get nervous that it's doing something other than just installing what's in the .txt file.

@kennethreitz
Copy link
Contributor

it shouldn't be doing that unless -r isn't given..

@kennethreitz
Copy link
Contributor

fixed in v7.8.6!

@philfreo
Copy link
Contributor Author

On 7.8.5:

$ pipenv install -r requirements-original.txt
...
Installing dependencies from Pipfile.lock…
Traceback (most recent call last):▉▉▉▉ 31/201 — 00:00:17
  File "/Users/philfreo/.local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1663, in install
    do_init(dev=dev, allow_global=system, ignore_pipfile=ignore_pipfile, system=system, skip_lock=skip_lock, verbose=verbose, concurrent=concurrent)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1230, in do_init
    skip_lock=skip_lock, verbose=verbose, concurrent=concurrent)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 788, in do_install_dependencies
    index=index
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/cli.py", line 1303, in pip_install
    c = delegator.run(pip_command, block=block)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/delegator.py", line 257, in run
    c.run(block=block, binary=binary)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/delegator.py", line 149, in run
    s = PopenSpawn(self._popen_args, **pexpect_kwargs)
  File "/Users/philfreo/.local/venvs/pipenv/lib/python2.7/site-packages/pipenv/vendor/pexpect/popen_spawn.py", line 45, in __init__
    self.proc = subprocess.Popen(cmd, **kwargs)
  File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1227, in _execute_child
    errpipe_read, errpipe_write = self.pipe_cloexec()
  File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1179, in pipe_cloexec
    r, w = os.pipe()
OSError: [Errno 24] Too many open files

I also tried it with --sequential and that didn't change things.

(I'm still going to try pruning to a smaller file, haven't yet)

@kennethreitz
Copy link
Contributor

that is... weird.

@kennethreitz
Copy link
Contributor

can you please privately share your pipfile with me?

@kennethreitz
Copy link
Contributor

this is a goldmine of edgecases

@kennethreitz
Copy link
Contributor

me@kennethreitz.org

@kennethreitz
Copy link
Contributor

we confirmed we fixed the toml bug though, yay!

@fruch
Copy link

fruch commented Sep 24, 2017

looks like you guys having fun :)

@kennethreitz
Copy link
Contributor

$ pipenv install --skip-lock works for me, so far...

@kennethreitz
Copy link
Contributor

@kennethreitz
Copy link
Contributor

I'm running MacOS. What OS are you on?

@philfreo
Copy link
Contributor Author

Same

@kennethreitz
Copy link
Contributor

it might be related to git... i'm surprised --sequential didn't fix your problem.

@kennethreitz
Copy link
Contributor

Yeah, succeeded over here (aside from lxml failing to build)

@philfreo
Copy link
Contributor Author

philfreo commented Sep 24, 2017

At this point I'm more excited to prune the file first anyway. Of course there's bugs with that too :)

So I'm working through reviewing it manually.

@kennethreitz
Copy link
Contributor

Did you try pipenv check --unused?

@philfreo
Copy link
Contributor Author

philfreo commented Sep 24, 2017

Not yet. It's just a wrapper around pipreqs, right? (And would have the same bug). I figured I'd start there with just my requirements file, for simpler changes first.

@kennethreitz
Copy link
Contributor

yeah it's a wrapper around pip reqs. will probably give you a lot of false positives, but it'd be a place to start.

@kennethreitz
Copy link
Contributor

Cannot reproduce, even with 4+ git deps.

@philfreo
Copy link
Contributor Author

I ran git gc, pipenv --rm, pruned a bunch of dependencies from my requirements.txt file, and ran rm Pipfile Pipfile.lock. Then I ran pipenv install. It gave me OSError: [Errno 24] Too many open files again.

However I then ran pipenv install --sequential and this time it worked! Not really sure what the specific trick was compared to before, but cool to see it working!!

@techalchemy
Copy link
Member

FYI if you run into this error again you can check the per-process file handle limit with ulimit -n and then determine how many file handles pipenv is actually using as follows (for example, with fish as your shell):

for pid in ( ps aux | grep -i pipenv | awk '{ print $2 }')
    lsof -p $pid
end | wc -l

You can run without wc -l for the actual handles if you want to get a better idea of what is happening. I am guessing it is a circular dependency resolution relating to concurrent downloads which will basically create infinite file handles until it hits the ulimit cap. Essentially that would mean ulimit is doing its job.

It would be hard to troubleshoot something like this, but I'd be curious to see the output of that if it happens again or if you can reproduce.

@wy193777
Copy link

I run into this problem on one of my Windows machine. It works on Ubuntu and another Windows. On the windows has the problem I run pipenv with py -m pipenv install. On Ubuntu I simply use pipenv install.

@OrderFromChaos
Copy link

OrderFromChaos commented Sep 21, 2023

I tried pasting the Airflow build at https://raw.githubusercontent.com/apache/airflow/constraints-2.7.1/constraints-3.8.txt (~650 lines) as a mitigation for the unsupported --constraint operator (#4464), and I got this error as well:

Traceback (most recent call last):
  File "/home/order/miniconda3/bin/pipenv", line 8, in <module>
    sys.exit(cli())
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/cli/options.py", line 58, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/cli/command.py", line 238, in install
    do_install(
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/core.py", line 2225, in do_install
    do_init(
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/core.py", line 1298, in do_init
    new_hash = project.calculate_pipfile_hash()
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/project.py", line 1088, in calculate_pipfile_hash
    p = plette.Pipfile.load(pf)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/pipfiles.py", line 65, in load
    return cls(data)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/models/base.py", line 49, in __init__
    self.validate(data)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/pipfiles.py", line 44, in validate
    klass.validate(data[key])
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/models/base.py", line 125, in validate
    cls.item_class.validate(d)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/models/packages.py", line 26, in validate
    PackageSpecfiers.validate({"__specifiers__": data})
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/models/base.py", line 81, in validate
    return validate(cls, data)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/plette/models/base.py", line 36, in validate
    if v.validate(data, normalize=False):
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 1050, in validate
    self.__validate_definitions(definitions, field)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 1120, in __validate_definitions
    result = validate_rule(rule)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 1095, in validate_rule
    return validator(definitions.get(rule, None), field, value)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 1498, in _validate_schema
    self.__validate_schema_mapping(field, schema, value)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 1512, in __validate_schema_mapping
    if not validator(value, update=self.update, normalize=False):
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 1041, in validate
    self.__init_processing(document, schema)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/cerberus/validator.py", line 642, in __init_processing
    self.document = copy(document)
  File "/home/order/miniconda3/lib/python3.9/copy.py", line 102, in copy
    return _reconstruct(x, None, *rv)
  File "/home/order/miniconda3/lib/python3.9/copy.py", line 271, in _reconstruct
    if hasattr(y, '__setstate__'):
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/tomlkit/container.py", line 840, in __getattr__
    return getattr(self._internal_container, attribute)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/tomlkit/container.py", line 840, in __getattr__
    return getattr(self._internal_container, attribute)
  File "/home/order/miniconda3/lib/python3.9/site-packages/pipenv/vendor/tomlkit/container.py", line 840, in __getattr__
    return getattr(self._internal_container, attribute)
  [Previous line repeated 964 more times]
RecursionError: maximum recursion depth exceeded

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants