Это зависит от того, является ли работа Spark или Python Shell. Для Spark вам просто нужно заархивировать библиотеку, а затем, когда вы укажете задание на путь библиотеки S3, задание импортирует его. Вам просто нужно убедиться, что в zip-файле содержится этот файл: __init__.py
Например, для библиотеки, которую вы пытаетесь импортировать, если вы загружаете ее из https://pypi.org/project/openpyxl/#files,, вы можете заархивировать папку openpyxl внутри openpyxl-3.0.0.tar.gz и сохраните его в S3.
С другой стороны, если это задание Python Shell,ZIP-файл не будет работать. Вам нужно будет создать файл egg из библиотеки. Если вы используете эту версию openpyxl-3.0.0, то вы можете скачать ее с того же веб-сайта, извлечь все и запустить команду python setup.py bdist_egg
или python3 вместо python , есливместо этого вы используете python3.
Это создаст файл egg внутри папки dist
, которая также будет сгенерирована. Вам просто нужно поместить этот файл egg в S3 и указать Glue Job Python Libraries на этот путь.
Если у вас уже есть библиотека и по какой-то причине у вас нет setup.py
, то вы должнысоздайте его, чтобы запустить команду для создания файла яйца. Пожалуйста, обратитесь к http://www.blog.pythonlibrary.org/2012/07/12/python-101-easy_install-or-how-to-create-eggs/. Там вы можете найти пример.