in aws_lambda_builders/workflows/python_pip/packager.py [0:0]
def _install_purelib_and_platlib(self, wheel, root):
# Take a wheel package and the directory it was just unpacked into and
# unpackage the purelib/platlib directories if they are present into
# the parent directory. On some systems purelib and platlib need to
# be installed into separate locations, for lambda this is not the case
# and both should be installed in site-packages.
data_dir = self._osutils.joinpath(root, wheel.data_dir)
if not self._osutils.directory_exists(data_dir):
return
unpack_dirs = {"purelib", "platlib"}
data_contents = self._osutils.get_directory_contents(data_dir)
for content_name in data_contents:
if content_name in unpack_dirs:
source = self._osutils.joinpath(data_dir, content_name)
self._osutils.copytree(source, root)
# No reason to keep the purelib/platlib source directory around
# so we delete it to conserve space in the package.
self._osutils.rmtree(source)