Как установить python3 и Django с использованием пользовательских данных в AWS EC2 с помощью aws cli boto3 - PullRequest
0 голосов
/ 29 апреля 2018

Мне нужно установить python3 и django через пользовательские данные на экземплярах EC2. Я знаю, что могу сделать это с помощью Cloudformation или непосредственно в EC2, но мне нужно установить и развернуть его с помощью пользовательских данных. Я создаю VPC и autoscaler, но мне нужно автоматизировать установку и развертывание python3 и django автоматически.

Вот что у меня есть, но, похоже, оно не работает.

    UserData="""#!/bin/bash
            yum install httpd php php-mysql -y
            echo y | sudo yum install python36 python36-virtualenv python36-pip
            sudo pip install --upgrade pip
            python3 -m venv venv
            source ./venv/bin/activate
            pip install django
            pip install --upgrade pip
            yum update -y
            service httpd start
            chkconfig httpd on
            adduser Eteram

Я пытался заключить их в двойные кавычки, но все еще не работает.

Я в основном пытаюсь установить python3 и django и развернуть тестовое приложение, чтобы иметь возможность перейти к URL администратора django.

Если я запускаю вышеупомянутые команды на EC2, он работает нормально. Но когда я включаю его в данные пользователя, после того, как я вхожу в EC2 и проверяю журнал инициализации облака, я вижу следующее:

/var/lib/cloud/instance/scripts/part-001: line 3: echo y | sudo yum install python36 python36-virtualenv python36-p
ip: command not found
/var/lib/cloud/instance/scripts/part-001: line 4: sudo pip install --upgrade pip: command not found
/var/lib/cloud/instance/scripts/part-001: line 5: python3 -m venv venv: command not found
/var/lib/cloud/instance/scripts/part-001: line 6: source ./venv/bin/activate: No such file or directory
/var/lib/cloud/instance/scripts/part-001: line 7: pip install django: command not found
/var/lib/cloud/instance/scripts/part-001: line 8: pip install --upgrade pip: command not found

1 Ответ

0 голосов
/ 29 апреля 2018

Вот что я должен был сделать, чтобы все заработало.

Вот инструкции по установке python 3 и django на aws с использованием boto3 в пользовательских данных

    UserData="""#!/bin/bash
            yum install httpd php php-mysql -y
            yum install python36 python36-virtualenv python36-pip -y
            pip install --upgrade pip
            cd /home/ec2-user
            python3 -m venv /home/ec2-user/venv
            source /home/ec2-user/venv/bin/activate
            pip install django
            pip install --upgrade pip
            yum update -y
            service httpd start
            chkconfig httpd on
            """

благодаря подсказке от @dpwrussell мне пришлось удалить sudo, так как это не требуется. затем мне пришлось сменить каталог, чтобы получить виртуальный env под моим домом пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...