Open tardyp opened 6 years ago
We start to see wheels with 2.1 metadata in wheels.
ex: https://pypi.org/project/python-dateutil/2.7.3/#files
traceback, with some debug info added.
Traceback (most recent call last): File "[...]/site-packages/distlib/metadata.py", line 709, in __init__ self._data = json.loads(data) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/az02096/dev/nestor/reposyncer/.venv/bin/humpty", line 11, in <module> sys.exit(main()) File "[...]/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "[...]/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "[...]/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "[...]/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "[...]/site-packages/humpty.py", line 665, in main EggWriter(wheel).build_egg(dist_dir) File "[...]/site-packages/humpty.py", line 546, in build_egg egg_info = egg_metadata(wheel) File "[...]/site-packages/humpty.py", line 441, in egg_metadata wheel.metadata, File "[...]/site-packages/distlib/util.py", line 446, in __get__ value = self.func(obj) File "[...]/site-packages/distlib/wheel.py", line 234, in metadata result = Metadata(fileobj=wf) File "[...]/site-packages/distlib/metadata.py", line 719, in __init__ scheme=scheme) File "[...]/site-packages/distlib/metadata.py", line 263, in __init__ self.read_file(fileobj) File "[...]/site-packages/distlib/metadata.py", line 362, in read_file self.set_metadata_version() File "[...]/site-packages/distlib/metadata.py", line 269, in set_metadata_version self._fields['Metadata-Version'] = _best_version(self._fields) File "[...]/site-packages/distlib/metadata.py", line 149, in _best_version raise MetadataConflictError('Unknown metadata set' + str(fields) + str(keys)) distlib.metadata.MetadataConflictError: Unknown metadata set{'Metadata-Version': '2.1', 'Summary': 'Extensions to the standard Python datetime module', 'Maintainer': 'Paul Ganssle', 'Classifier': ['Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Topic :: Software Development :: Libraries'], 'Author-email': 'gustavo@niemeyer.net', 'Maintainer-email': 'dateutil@python.org', 'Platform': ['UNKNOWN'], 'Name': 'python-dateutil', 'Requires-Dist': ['six (>=1.5)'], 'License': 'Dual License', 'Author': 'Gustavo Niemeyer', 'Version': '2.7.3', 'Requires': ['six'], 'Requires-Python': '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*', 'Home-page': 'https://dateutil.readthedocs.io'}['Metadata-Version', 'Summary', 'Maintainer', 'Classifier', 'Author-email', 'Maintainer-email', 'Platform', 'Name', 'Requires-Dist', 'License', 'Author', 'Version', 'Requires', 'Requires-Python', 'Home-page']
I think the problem is probably in distlib, but probably you want to be more reliant on unknown metadata versions
wheel 0.3.1 introduces 2.1 metadata
https://github.com/pypa/wheel/blob/master/CHANGES.txt
We start to see wheels with 2.1 metadata in wheels.
ex: https://pypi.org/project/python-dateutil/2.7.3/#files
traceback, with some debug info added.
I think the problem is probably in distlib, but probably you want to be more reliant on unknown metadata versions