CircleCI 中的 Zappa 更新失败

我正在尝试使用 Zappa 和 circleci 将我的 Python 项目部署到 AWS Lambda。


它的投掷错误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

有什么我想念的吗。有人可以帮助我。


呼啦一阵风
浏览 122回答 2
2回答

幕布斯7119047

我必须使用 pip3 安装 zappa , virtualenv 然后激活它。sudo pip install zappasudo pip3 install virtualenvvirtualenv -p python3 venvsource venv/bin/activatepip install -r requirements.txtzappa update dev

守着星空守着你

这是一个使用 python3 虚拟环境而不是 virtualenv 包的简短工作示例。为了让它工作,你需要在 CircleCI Web UI 中设置AWS_ACCESS_KEY_ID并作为环境变量。AWS_SECRET_ACCESS_KEYversion: 2jobs:  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;请注意,我使用的是 python 3.6.1 CircleCI 图像,我在使用 3.6.9 时遇到了一些小问题包含依赖项缓存、运行测试套件、测试是否可以创建包、部署到测试和生产环境的完整示例可以在这里找到:https://github.com/mislavcimpersak/xkcd-excuse-generator/blob/master/。 circleci/config.yml
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python