Serverless 在 Conda 虚拟环境中找不到我的 AWS 凭证是不是有原因?

Posted

技术标签:

【中文标题】Serverless 在 Conda 虚拟环境中找不到我的 AWS 凭证是不是有原因?【英文标题】:Is there a reason why Serverless cannot find my AWS Credentials within a Conda virtual environment?Serverless 在 Conda 虚拟环境中找不到我的 AWS 凭证是否有原因? 【发布时间】:2021-10-12 09:10:38 【问题描述】:

我正在尝试使用无服务器框架将 lambda 函数部署到 AWS。一切似乎都运行良好,但是当我运行任一命令部署 sudo sls deploysudo serverless deploy 时,我收到以下错误。

我知道错误消息指出找不到我的 AWS 凭证,但我不确定为什么?

我已根据 http://slss.io/aws-creds-setup 上的文档使用无服务器配置凭据进行设置

我已采取的补救措施:

    重新运行serverless config credentials --provider aws --key key --secret secret 尝试将Profile: 作为“默认”添加到我的 YAML 文件中,并添加 AWS 中的用户名。 使用 export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= 在我的环境中设置凭据。

我注意到我的.aws/credentials 文件存在,但它不在我的虚拟环境中。我假设因为这个无服务器无法找到凭据,但我没有在任何地方看到这个记录。

我错过了什么吗?

[sudo] password for osboxes: 
Serverless: Generated requirements from /home/osboxes/spacy-med/requirements.txt in /home/osboxes/spacy-med/.serverless/requirements.txt...
Serverless: Installing requirements from /home/osboxes/spacy-med/.serverless/requirements/requirements.txt ...
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Injecting required Python packages to package...
 
 Serverless Error ----------------------------------------
 
  AWS provider credentials not found. Learn how to set up AWS provider credentials in our docs here: <http://slss.io/aws-creds-setup>.
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
 
  Your Environment Information ---------------------------
     Operating System:          linux
     Node Version:              14.17.4
     Framework Version:         2.53.1
     Plugin Version:            5.4.3
     SDK Version:               4.2.6
     Components Version:        3.14.2```


  [1]: https://www.serverless.com/framework/docs/providers/aws/guide/credentials#setup-with-serverless-config-credentials-command

【问题讨论】:

【参考方案1】:

尝试在您的 conda 环境中运行 aws configure:

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html

另外,请不要使用 sudo 运行它,如果您需要这样做,您可能安装了不正确的东西。

【讨论】:

以上是关于Serverless 在 Conda 虚拟环境中找不到我的 AWS 凭证是不是有原因?的主要内容,如果未能解决你的问题,请参考以下文章

【Anaconda】conda创建虚拟环境不报错,但是虚拟环境无法生成的解决办法

Anaconda-- conda 创建、激活、退出、删除虚拟环境(转)

conda在指定目录下创建虚拟环境,conda使用国内镜像

Windows下Conda 常用命令

Windows下Conda 常用命令

Windows下Conda 常用命令