Где AWS CLI хранит пакеты Python? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь использовать скрипт для создания связи между агентом и менеджером в AWS, который я использую для FIM с AWS ElasticBeanstalk, Ossec / Wazuh и скриптом Python, хранящимся в корзине s3.

Я использую boto3 для извлечения тегов экземпляра, чтобы присвоить имя экземпляру агента в моем экземпляре агента. Я могу установить агент Wazuh и затем начать регистрацию агента в экземпляре менеджера. В основном, настройка рукопожатия через разделение manager_ip и некоторой другой информации.

Основной скрипт установки работает так,

    os.system('sudo yum update')
    os.system('sudo touch /etc/yum.repos.d/wazuh.repo')
    os.system('sudo chmod number /etc/yum.repos.d/wazuh.repo')
    os.system('pip install boto3')
    os.system('pip install requests')

и затем я регистрирую агента в экземпляре менеджера в другом скрипте, где я использую boto3 и запрашиваю, и получаю ошибку.

В настоящее время Boto3 извлекает теги и имя экземпляра и отображает то, что я хочу. Однако сразу после этого он сообщает мне об этой ошибке:

Ошибка: объект «модуль» не имеет атрибута «пакеты»

(без модуля boto3 и запросов)

Когда я использую оболочку pipenv, чтобы посмотреть поближе, я вижу, что она не распознает boto3 или запросы, которые я импортирую в сценарий моего агента регистрации. Если я удовлетворяю этим требованиям (запросы на установку pip boto3 / pip локально в моем экземпляре EC2), он затем выдает мне ошибку с правами доступа 13 позже, что означает, что мне нужен доступ sudo к сценарию.

Если я использую sudo python myfile.py, он отправляет мне

Ошибка: объект «модуль» не имеет атрибута «пакеты»

Когда я делаю «какой питон» и «sudo, какой питон», они используют один и тот же путь, и когда я ищу пакеты, я вижу, что они доступны.

Итак, мой вопрос: где python хранит загруженные пакеты в aws cli? И как я могу подключить их, чтобы они были доступны для использования сценарием?

...