raratiru / django-quenv

Helps the process of license housekeeping in a Django project, the spdx way.
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

pkg_resources raises KeyError if METADATA is missing #8

Closed jayvdb closed 4 years ago

jayvdb commented 4 years ago

setuptools 44.0.0

 0%|▌  | 20/4475 [00:20<1:17:57,  1.05s/it]
Traceback (most recent call last):
  File "./manage.py", line 50, in <module>
    main()
  File "./manage.py", line 46, in main
    execute_from_command_line(sys.argv)
  File "/usr/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python3.8/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python3.8/site-packages/django_compat_patcher/fixers/django1_10.py", line 404, in run_from_argv
    original_run_from_argv(self, argv)
  File "/usr/lib/python3.8/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/lib/python3.8/site-packages/django/core/management/base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python3.8/site-packages/quenv/management/commands/quenv.py", line 28, in handle
    obj.dump()
  File "/usr/lib/python3.8/site-packages/quenv/licenses.py", line 336, in dump
    data = self.get_result(map(self.create_package, self.environment_packages))
  File "/usr/lib/python3.8/site-packages/quenv/licenses.py", line 248, in get_result
    package_info = each_package.info()
  File "/usr/lib/python3.8/site-packages/quenv/licenses.py", line 118, in info
    for each in self.get_pkg_details():
  File "/usr/lib/python3.8/site-packages/quenv/licenses.py", line 109, in get_pkg_details
    lines = self.pkg.get_metadata_lines("METADATA")
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1911, in get_metadata_lines
    return yield_lines(self.get_metadata(name))
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1895, in get_metadata
    raise KeyError("No metadata except PKG-INFO is available")