question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

pipenv lock raises error

See original GitHub issue

Issue description

All 2020.* versions cannot lock Pipfile with URL dependency. But 2018.11.26 version locks good. pipenv lock --clear don’t help.

Expected result

No error. Locking deps

Actual result

Error

Steps to replicate

pipenv lock on Pipfile with URL dependency:

Traceback (most recent call last):
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 807, in <module>
    main()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 803, in main
    parsed.requirements_dir, parsed.packages, parse_only=parsed.parse_only)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 785, in _main
    resolve_packages(pre, clear, verbose, system, write, requirements_dir, packages)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 758, in resolve_packages
    results = clean_results(results, resolver, project)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 640, in clean_results
    entry_dict = translate_markers(entry.get_cleaned_dict(keep_outdated=False))
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 239, in get_cleaned_dict
    self.validate_constraints()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 565, in validate_constraints
    constraints = self.get_constraints()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 493, in get_constraints
    pipfile_constraint = self.get_pipfile_constraint()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 507, in get_pipfile_constraint
    return self.constraint_from_parent_conflicts()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 524, in constraint_from_parent_conflicts
    if p.is_updated:
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 612, in __getattribute__
    result = super(Entry, self).__getattribute__(key)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 364, in is_updated
    return self.entry.specifiers != self.lockfile_entry.specifiers
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 625, in __getattribute__
    return super(Entry, self).__getattribute__(key)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 263, in lockfile_entry
    self._lockfile_entry = self.make_requirement(self.name, self.lockfile_dict)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/resolver.py", line 137, in make_requirement
    return Requirement.from_pipfile(name, entry)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 2743, in from_pipfile
    r = FileRequirement.from_pipfile(name, pipfile)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 1843, in from_pipfile
    arg_dict["setup_info"] = arg_dict["parsed_line"].setup_info
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 813, in setup_info
    self.setup_info = self.get_setup_info()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 802, in get_setup_info
    setup_info = SetupInfo.from_ireq(self.ireq, subdir=self.subdirectory)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/backports/functools_lru_cache.py", line 149, in wrapper
    result = user_function(*args, **kwds)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1882, in from_ireq
    ireq.source_dir, subdirectory=subdir, ireq=ireq, kwargs=kwargs, stack=stack
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1918, in create
    created.get_initial_info()
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1747, in get_initial_info
    self.update_from_dict(self.parse_setup_py())
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1504, in parse_setup_py
    parsed = ast_parse_setup_py(self.setup_py.as_posix())
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1199, in ast_parse_setup_py
    ast_analyzer = ast_parse_file(path)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1193, in ast_parse_file
    ast_analyzer.visit(tree)
  File "/usr/lib/python2.7/ast.py", line 241, in visit
    return visitor(node)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 712, in generic_visit
    super(Analyzer, self).generic_visit(node)
  File "/usr/lib/python2.7/ast.py", line 249, in generic_visit
    self.visit(item)
  File "/usr/lib/python2.7/ast.py", line 241, in visit
    return visitor(node)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 712, in generic_visit
    super(Analyzer, self).generic_visit(node)
  File "/usr/lib/python2.7/ast.py", line 251, in generic_visit
    self.visit(value)
  File "/usr/lib/python2.7/ast.py", line 241, in visit
    return visitor(node)
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 705, in generic_visit
    self.function_map.update(ast_unparse(node, initial_mapping=True))
  File "/home/dimka/.local/lib/python3.5/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1130, in ast_unparse
    unparsed[func_name].update(unparse(keyword))
TypeError: 'Name' object is not iterable

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:9 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
kopytjukcommented, Jul 19, 2021

Same problem here.

Ubuntu 18.04, Python 3.8.5 with pipenv, version 2021.5.29:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
skgeom = {git = "https://github.com/scikit-geometry/scikit-geometry"}

[dev-packages]
autopep8 = "*"

[requires]
python_version = "3.8"

python3 -m pipenv install raises:

Traceback (most recent call last):
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/resolver.py", line 764, in <module>
    main()
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/resolver.py", line 758, in main
    _main(parsed.pre, parsed.clear, parsed.verbose, parsed.system, parsed.write,
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/resolver.py", line 741, in _main
    resolve_packages(pre, clear, verbose, system, write, requirements_dir, packages, dev)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/resolver.py", line 702, in resolve_packages
    results, resolver = resolve(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/resolver.py", line 684, in resolve
    return resolve_deps(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 1397, in resolve_deps
    results, hashes, markers_lookup, resolver, skipped = actually_resolve_deps(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 1107, in actually_resolve_deps
    resolver = Resolver.create(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 662, in create
    constraints, skipped, index_lookup, markers_lookup = cls.get_metadata(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 462, in get_metadata
    constraint_update, lockfile_update = cls.get_deps_from_req(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 541, in get_deps_from_req
    req_list, lockfile = get_vcs_deps(reqs=[req])
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 1893, in get_vcs_deps
    with temp_path(), locked_repository(requirement) as repo:
  File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/utils.py", line 2049, in locked_repository
    with requirement.req.locked_vcs_repo(src_dir=src_dir) as repo:
  File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 2211, in locked_vcs_repo
    self._parsed_line.vcsrepo = vcsrepo
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 903, in vcsrepo
    setupinfo = SetupInfo.create(
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1987, in create
    created.get_initial_info()
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1816, in get_initial_info
    self.update_from_dict(self.parse_setup_py())
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1558, in parse_setup_py
    parsed = ast_parse_setup_py(self.setup_py.as_posix())
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1245, in ast_parse_setup_py
    ast_analyzer.unmap_binops()
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 746, in unmap_binops
    self.binOps_map[binop] = ast_unparse(binop, analyzer=self)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1056, in ast_unparse
    right_item = unparse(item.right)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1080, in ast_unparse
    items = unparse(analyzer.assignments[assignment])
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1184, in ast_unparse
    val = unparse(item.value, recurse=False)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1112, in ast_unparse
    left, ops, right = unparse(item.test)
  File "/home/kopytjuk/.local/lib/python3.8/site-packages/pipenv/vendor/requirementslib/models/setup_info.py", line 1095, in ast_unparse
    if "." in left:
TypeError: argument of type 'Attribute' is not iterable

Cloned repository as a folder on my system works!

0reactions
frostmingcommented, Nov 5, 2021

Fixed on v2021.11.5

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to fix locking failed in pipenv? - Stack Overflow
The error you get when you first run pipenv install with pipenv ... line 642, in find raise VersionConflict(dist, req) pkg_resources.
Read more >
Common Pipenv Errors and How to Solve Them: Why Won't it ...
The second most common reason locking fails is that we attempt to install a package that is a pre-release version. You can resolve...
Read more >
Frequently Encountered Pipenv Problems - Read the Docs
☤ An exception is raised during Locking dependencies…​​ Run pipenv lock --clear and try again. The lock sequence caches results to speed up...
Read more >
pipenv Documentation - Read the Docs
Make sure pipenv lock -r --pypi-mirror {MIRROR_URL} will respect the pypi-mirror in requirements output. #4199. Bug Fixes. • Raise PipenvUsageError when ...
Read more >
Pipenv Locking Failed! - Python - Codecademy Forums
Installed older Xcode- have to find an archive of one that will work with you OS · Installed HomeBrew · Used HomeBrew to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found