<#2324 update on lock with acryl-datahub fails wit...
# github-notifications
c
#2324 update on lock with acryl-datahub fails with cryptic error message Issue created by cburroughs
Copy code
$ python3.10 -m pex.cli lock create '--indent=2'  --manylinux manylinux2014 --interpreter-constraint $'CPython==3.10.*' --style=universal --pip-version=23.3.2 --resolver-version pip-2020-resolver --target-system=linux --target-system=mac  --prefer-binary -o tmp/ad-lock.json acryl-datahub==0.12.0.5
Copy code
$ pex3 lock update '--indent=2'  --manylinux manylinux2014  --project=pydot tmp/ad-lock.json
...
Encountered 1 error updating tmp/ad-lock.json:
1.) cp311-cp311-manylinux_2_37_x86_64:
To get some more details with `PEX_VERBOSE=10`:
Copy code
Traceback (most recent call last):
  File "/home/ecsb/.local/lib/python3.11/site-packages/pex/result.py", line 105, in catch
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ecsb/.local/lib/python3.11/site-packages/pex/resolve/lockfile/updater.py", line 320, in update_resolve
    assert updated_requirement.artifact == locked_requirement.artifact
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
Encountered 1 error updating tmp/ad-lock.json:
1.) cp311-cp311-manylinux_2_37_x86_64:
With some dinosaur
print
debugging:
Copy code
assert updated_pin == original_pin
                if updated_requirement.artifact != locked_requirement.artifact:
                    print('up ',  updated_requirement, 'lock', locked_requirement)
                assert updated_requirement.artifact == locked_requirement.artifact
Copy code
up  LockedRequirement(pin=Pin(project_name=ProjectName(raw='avro', normalized='avro'), version=Version(raw='1.11.3', normalized='1.11.3')), artifact=FileArtifact(url='<https://files.pythonhosted.org/packages/58/5b/41d2dab437adbad4077acba55b05064c5eb0aea8e77145a0379564d32950/avro-1.11.3.tar.gz>', fingerprint=Fingerprint(algorithm='sha256', hash='3393bb5139f9cf0791d205756ce1e39a5b58586af5b153d6a3b5a199610e9d17'), verified=True, filename='avro-1.11.3.tar.gz'), requires_dists=(Requirement(name='python-snappy', url=None, extras=frozenset(), specifier=<SpecifierSet('')>, marker=<Marker('extra == "snappy"')>), Requirement(name='typing-extensions', url=None, extras=frozenset(), specifier=<SpecifierSet('')>, marker=<Marker('python_version < "3.8"')>), Requirement(name='zstandard', url=None, extras=frozenset(), specifier=<SpecifierSet('')>, marker=<Marker('extra == "zstandard"')>)), requires_python=<SpecifierSet('>=3.6')>, additional_artifacts=()) lock LockedRequirement(pin=Pin(project_name=ProjectName(raw='avro', normalized='avro'), version=Version(raw='1.11.3', normalized='1.11.3')), artifact=FileArtifact(url='<https://files.pythonhosted.org/packages/58/5b/41d2dab437adbad4077acba55b05064c5eb0aea8e77145a0379564d32950/avro-1.11.3.tar.gz>', fingerprint=Fingerprint(algorithm='sha256', hash='3393bb5139f9cf0791d205756ce1e39a5b58586af5b153d6a3b5a199610e9d17'), verified=False, filename='avro-1.11.3.tar.gz'), requires_dists=(Requirement(name='python-snappy', url=None, extras=frozenset(), specifier=<SpecifierSet('')>, marker=<Marker('extra == "snappy"')>), Requirement(name='typing-extensions', url=None, extras=frozenset(), specifier=<SpecifierSet('')>, marker=<Marker('python_version < "3.8"')>), Requirement(name='zstandard', url=None, extras=frozenset(), specifier=<SpecifierSet('')>, marker=<Marker('extra == "zstandard"')>)), requires_python=<SpecifierSet('>=3.6')>, additional_artifacts=())
Which I believe simplifies to:
Copy code
$ diff -u tmp/up tmp/lock
--- tmp/up	2024-01-12 10:17:17.372343836 -0500
+++ tmp/lock	2024-01-12 10:17:25.575630776 -0500
@@ -5,7 +5,7 @@
 artifact=FileArtifact(url='<https://files.pythonhosted.org/packages/58/5b/41d2dab437adbad4077acba55b05064c5eb0aea8e77145a0379564d32950/avro-1.11.3.tar.gz>', 
 fingerprint=Fingerprint(algorithm='sha256', 
 hash='3393bb5139f9cf0791d205756ce1e39a5b58586af5b153d6a3b5a199610e9d17'), 
-verified=True, 
+verified=False, 
 filename='avro-1.11.3.tar.gz'), 
 requires_dists=(Requirement(name='python-snappy', 
 url=None,
Which I think shows why the assertion was triggered, but I still don't see what about this package is tickling the
verified
• Pex versions tried: 2.1.152, 2.1.156, and
main
avro==1.11.3
instead of
acryl-datahub==0.12.0.5
in the original
create
also fails in the same way. pantsbuild/pex