Сбой обновления Zappa в CircleCI - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь развернуть свой проект Python на AWS Lambda, используя Zappa и circleci.

ошибка его выброса Error: Zappa requires an active virtual environment!

#!/bin/bash -eo pipefail
zappa update dev
(PyYAML 3.13 (/usr/local/lib/python3.6/site-packages), Requirement.parse('PyYAML>=4.1'), {'cfn-flip'})
Calling update for stage dev..
Error: Zappa requires an active virtual environment!
Learn more about virtual environments here: http://docs.python-guide.org/en/latest/dev/virtualenvs/
Exited with code 1

Я устанавливаю venv с помощью следующих команд.

pip install virtualenv
virtualenv venv
source venv/bin/activate

Есть что-то, чего мне не хватает.Может ли кто-нибудь помочь мне.

1 Ответ

0 голосов
/ 28 сентября 2019

Это короткий рабочий пример, в котором используется виртуальная среда Python3, а не пакет virtualenv.Чтобы это работало, вам нужно установить AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY в качестве переменных env в веб-интерфейсе CircleCI.

version: 2
jobs:
  build:
    docker:
      - image: circleci/python:3.6.1

    working_directory: ~/app

    steps:
      - checkout

      - run:
          name: install dependencies
          command: |
            python3 -m venv ~/venv
            . ~/venv/bin/activate
            pip install -r requirements.txt

      - deploy:
          name: deploy
          command: |
            . ~/venv/bin/activate

            # set aws credentials
            mkdir -p ~/.aws
            echo -e "[default]" >> ~/.aws/credentials
            echo -e "aws_access_key_id = "$AWS_ACCESS_KEY_ID >> ~/.aws/credentials
            echo -e "aws_secret_access_key = "$AWS_SECRET_ACCESS_KEY >> ~/.aws/credentialstrouble

            # try to update, if the command fails do the initial deploy
            zappa update dev || zappa deploy dev;

Обратите внимание, что я использую образ CircleCI python 3.6.1, у меня были некоторые незначительныепроблема с 3.6.9

Полный пример с кэшированием зависимостей, запуском набора тестов, тестированием, если пакет может быть создан, развертыванием в среде testing и production здесь: https://github.com/mislavcimpersak/xkcd-excuse-generator/blob/master/.circleci/config.yml

...