首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AliasedEventEmitter命令失败,错误为: ImportError:无法导入名称SAM

AliasedEventEmitter命令失败,错误为: ImportError:无法导入名称SAM
EN

Stack Overflow用户
提问于 2019-03-08 03:33:58
回答 1查看 553关注 0票数 1

我正在使用buildspec.yml文件通过AWSPython2.0运行一个SAM模板,我相信这个问题是由pip安装默认的aws-sam-cli包的Python2.7版本引起的。我不太熟悉如何pip install一个包的python3版本。这是我的buildspec.yml的一个片段

代码语言:javascript
复制
phases:
  pre_build:
    commands:
      - echo "Pre-Build Phase started - SAM Deployment"
      - alias python=python3
      - pip install --upgrade pip
      - pip install aws-sam-cli # install the sam cli
      - USER_BASE_PATH=$(python -m site --user-base) # save the path to the user's local packages folder to a variable (as opposed to the global packages folder)
      - export PATH=$PATH:$USER_BASE_PATH/bin # add the user's local packages folder to PATH
      - sam --version # verify "sam" can now be called
  build:
    commands:
      - sam package --runtime python3 --template-file ${INPUT_FILE} --output-template-file ${OUTPUT_FILE} --s3-bucket ${S3_BUCKET} # package the template to an S3 bucket
...

有没有人遇到过这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-13 00:28:18

对于任何重提这个问题的人来说,我都想通了。下面是我修改后的buildspec.yml代码片段。我不得不用pip3安装awscli包。

代码语言:javascript
复制
phases:
  pre_build:
    commands:
      - echo "Pre-Build Phase started - SAM Deployment"
      - ls -ltr # list directory contents from oldest to new
      - sudo apt-get update
      - sudo apt-get -y install python3-pip
      - sudo pip3 install --upgrade awscli
      - apt-get update > /dev/null # get list of package updates from 
    repositories
      - apt-get install jq -y > /dev/null # install 32-bit JSON processor
      - jq --version # check JSON processor installed / which version
      - wget -q https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 # get 64-bit JSON processor
      - chmod +x jq-linux64 # make executable
      - mv jq-linux64 $(which jq) # make "jq" alias point to 64-bit jq
      - jq --version # verify jq points to new version
      - alias python=python3
      - pip install aws-sam-cli # install the sam cli
      - USER_BASE_PATH=$(python -m site --user-base) # save the path to the user's local packages folder to a variable (as opposed to the global packages folder)
      - export PATH=$PATH:$USER_BASE_PATH/bin # add the user's local packages folder to PATH
      - sam --version # verify "sam" can now be called
  build:
    commands:
      - sam package --template-file ${INPUT_FILE} --output-template-file ${OUTPUT_FILE} --s3-bucket ${S3_BUCKET} # package the template to an S3 bucket
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55051510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档