В Python 2.7 отсутствует gzip.py в Yocto/OpenEmbedded Build

В моей родной установке python 2.7 на моем ПК в любом дистрибутиве, который я просматривал (например, Ubuntu), gzip.py устанавливается как часть пакета. На самом деле, в самом исходнике python 2.7 доступно gzip.py.

Однако, когда я создаю python 2.7, предоставляемый слоем openembedded-core, используя коммит a9db40da62c13b0010ce5afc1fde16d987bdfbc6, gzip.py отсутствует.

Я просмотрел архив исходного кода, который используется для сборки Python, и (как и ожидалось) gzip.py доступен там. Кроме того, я не могу найти ничего в рецептах bitbake, которые могут вызвать сборку Python без gzip.py.

Итак, мои вопросы:

  1. Есть ли причина, по которой мы не видим gzip.py в сборке yocto?
  2. Есть ли способ установить gzip.py как часть стандартного python с помощью bitbake?

person Frederick Ollinger    schedule 06.02.2018    source источник


Ответы (1)


Причина, по которой вам не хватает gzip.py в вашей сборке, вероятно, заключается в том, что он включен в отдельный пакет под названием python-compression.

Это вызвано оператором FILES_${PN}-compression= в python-2.7-manifest.inc, см.: https://github.com/openembedded/openembedded-core/blob/a9db40da62c13b0010ce5afc1fde16d987bdfbc6/meta/recipes-devtools/python/python-2.7-manifest.inc#L42

Таким образом, включение python-compression в вашу сборку должно решить вашу проблему.

person g0hl1n    schedule 21.02.2018
comment
После этого, если вы хотите установить всю библиотеку Python, установите python-modules. В последних выпусках вы можете установить «python», чтобы получить всю библиотеку, но в более старых выпусках вам нужно было установить python-модули. - person Ross Burton; 21.02.2018