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

2018.11.14 regression: pipenv install --dev --skip-lock fails on non-targeted Python versions #3282

Closed
ob-stripe opened this issue Nov 22, 2018 · 3 comments
Labels
Type: Duplicate This issue is a duplicate of an already-existing issue.

Comments

@ob-stripe
Copy link
Contributor

Issue description

I'm using pipenv with Travis CI to test a library using various Python versions. The Pipfile targets Python 3.7 since that's the default version used by developers, but the library is tested against older versions (including 2.7). We use pipenv install --dev --skip-lock to install dependencies, like requests does (https://github.com/requests/requests/blob/943a5c8e89db1758ae24adbbedacb3b05c32df4a/Makefile#L4).

This used to work, but no longer does with pipenv 2018.11.14: installing dependencies fails with Python 2.7, 3.4 and 3.5. It still works with Python 3.6 and 3.7.

Expected result

Expected pip install --dev --skip-lock to succeed, like it used to with pipenv 2018.10.13. E.g. this build on Travis: https://travis-ci.org/stripe/stripe-python/jobs/452680616#L474-L483.

Actual result

Output of pipenv install --dev --skip-lock --verbose: https://gist.githubusercontent.com/ob-stripe/d6dc977dc12d362777e9fc68a969ad33/raw/d3b08ffb9ede1497c6de411811f3fd4c1d7d04ef/gistfile1.txt

You can also view the results on Travis: https://travis-ci.org/stripe/stripe-python/jobs/458434756#L475-L512.

Steps to replicate

I was unable to replicate this locally, but my local environment (macOS + brew + pyenv) is quite different from Travis'.


$ pipenv --support

Pipenv version: '2018.11.14'

Pipenv location: '/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv'

Python location: '/home/travis/virtualenv/python2.7.14/bin/python'

Python installations found:

Traceback (most recent call last):
  File "/home/travis/virtualenv/python2.7.14/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1114, in invoke
    return Command.invoke(self, ctx)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/cli/command.py", line 142, in cli
    get_pipenv_diagnostics()
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/help.py", line 33, in get_pipenv_diagnostics
    python_paths = finder.find_all_python_versions()
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/backports/functools_lru_cache.py", line 137, in wrapper
    result = user_function(*args, **kwds)
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 122, in find_all_python_versions
    python_version_dict = getattr(self.system_path, "python_version_dict")
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 54, in system_path
    ignore_unsupported=self.ignore_unsupported,
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 451, in create
    ignore_unsupported=ignore_unsupported,
  File "<attrs generated init 0c5e0ca48e6d72e07a67727a626d079225b052cd>", line 38, in __init__
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 116, in __attrs_post_init__
    self._setup_pyenv()
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 196, in _setup_pyenv
    version_glob_path="versions/*", ignore_unsupported=self.ignore_unsupported
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/models/python.py", line 154, in create
    sort_function=sort_function, version_glob_path=version_glob_path)
  File "<attrs generated init d10b95809d4ef798bee3a62f27c71f5e45be88ee>", line 17, in __init__
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/models/python.py", line 98, in get_versions
    for p in self.get_version_order():
  File "/home/travis/virtualenv/python2.7.14/lib/python2.7/site-packages/pipenv/vendor/pythonfinder/models/python.py", line 70, in get_version_order
    version_order = [versions[v] for v in parse_pyenv_version_order()]
TypeError: 'NoneType' object is not iterable
@duplicate-issues
Copy link

Hey @ob-stripe,

We did a quick check and this issue looks very darn similar to

This could be a coincidence, but if any of these issues solves your problem then I did a good job 😄

If not, the maintainers will get to this issue shortly.

Cheers,
Your Friendly Neighborhood ProBot

@techalchemy
Copy link
Member

techalchemy commented Nov 22, 2018

This is fixed in master. I’ll likely cut a release today but it is thanksgiving and all. Sorry for the inconvenience.

See also: #3268 #3225

@techalchemy techalchemy added the Type: Duplicate This issue is a duplicate of an already-existing issue. label Nov 22, 2018
@ob-stripe
Copy link
Contributor Author

Awesome, thanks for the quick reply. Happy Thanksgiving!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Duplicate This issue is a duplicate of an already-existing issue.
Projects
None yet
Development

No branches or pull requests

2 participants