Не удалось найти метаданные пакета для jsonschema

#python #metadata #jsonschema #python-importlib #python-jsonschema

#python #метаданные #jsonschema #python-importlib #python-jsonschema

Вопрос:

Я довольно новичок в этом. Я установил jsonschema и importlib_metadata вручную и скопировал его в папку, в которой я synthesis использовал make syn , т.Е. vlsi Папку в моем случае.

Он завершается с этой ошибкой: importlib_metadata.PackageNotFoundError: No package metadata was found for jsonschema

 [usr@serv vlsi]$ make syn
./example-vlsi -e /home/usr/chipyard/vlsi/env.yml  -p example.yml  -p /home/usr/chipyard/vlsi/build/chipyard.TestHarness.RocketConfig-ChipTop/inputs.yml --obj_dir /home/usr/chipyard/vlsi/build/chipyard.TestHarness.RocketConfig-ChipTop build
Traceback (most recent call last):
  File "./example-vlsi", line 4, in <module>
    import hammer_vlsi
  File "/home/usr/chipyard/vlsi/hammer_vlsi/__init__.py", line 15, in <module>
    from .hammer_vlsi_impl import *
  File "/home/usr/chipyard/vlsi/hammer_vlsi/hammer_vlsi_impl.py", line 22, in <module>
    from hammer_tech import Library, ExtraLibrary
  File "/home/usr/chipyard/vlsi/hammer_tech.py", line 18, in <module>
    import python_jsonschema_objects  # type: ignore
  File "/home/usr/chipyard/vlsi/python_jsonschema_objects/__init__.py", line 1, in <module>
    import jsonschema
  File "/home/usr/chipyard/vlsi/jsonschema/__init__.py", line 34, in <module>
    __version__ = metadata.version("jsonschema")
  File "/home/usr/chipyard/vlsi/importlib_metadata/__init__.py", line 585, in version
    return distribution(distribution_name).version
  File "/home/usr/chipyard/vlsi/importlib_metadata/__init__.py", line 558, in distribution
    return Distribution.from_name(distribution_name)
  File "/home/usr/chipyard/vlsi/importlib_metadata/__init__.py", line 215, in from_name
    raise PackageNotFoundError(name)
importlib_metadata.PackageNotFoundError: No package metadata was found for jsonschema
make: *** No rule to make target 'syn'.  Stop.
  

Я нашел несколько решений для этого здесь: http://biercoff.com/how-to-fix-package-not-found-error-importlib-metadata / но где найти бессерверный файл.yml и повлияет ли превращение slim true в false на другие вещи?
Есть идеи, что может быть причиной этой ошибки?

Комментарии:

1. после установки плагина serverless-python-requirements serverless.yml появится serverless plugin install -n serverless-python-requirements, затем в пользовательском разделе добавьте пользовательские: pythonRequirements: dockerizePip: true zip: true slim: true

Ответ №1:

Это проблема с опцией slim. Даже отключение не помогло. Однако у этой ошибки есть обходной путь.

 pythonRequirements:
    dockerizePip: non-linux
    useDownloadCache: false
    useStaticCache: false
    slim: true
    slimPatternsAppendDefaults: false
    slimPatterns:
      - '**/*.py[c|o]'
      - '**/__pycache__*'
  

https://github.com/Julian/jsonschema/issues/584