首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以为Cloud9的Lambda函数设置PYTHONPATH吗?

我可以为Cloud9的Lambda函数设置PYTHONPATH吗?
EN

Stack Overflow用户
提问于 2019-12-14 11:44:20
回答 1查看 895关注 0票数 0

我在Cloud9的AWS Resources菜单中创建了2个Lambda函数。

我想为这些函数提供通用的模块。

我为公共模块创建了新文件夹,并将路径~/environment/python/lib添加到PYTHONPATH of Preferences -> Python Support中。

我用Lambda(local)实现了Run的主函数。

但我找到Unable to import module 'main/lambda_function': No module named 'common'了。

我可以在Cloud9中为Lambda函数设置PYTHONPATH吗?

或者,有没有更好的做法让几个Lambda函数都有通用的模块?

我的文件夹树:

代码语言:javascript
复制
root
|-python
  |-lib     <- for uploading to Lambda Layers
    common.py
|-app
  |-main
    |-lambda_function.py
  |-main2
    |-lambda_function.py

我的lambda_function.py:

代码语言:javascript
复制
import common
EN

回答 1

Stack Overflow用户

发布于 2020-06-03 13:53:09

在执行其他操作之前,只需在python文件中输出PYTHONPATH即可:

代码语言:javascript
复制
import os
print(os.environ['PYTHONPATH'])

import ...

def lambda_handler(event,context):
  ...

您将看到,作为函数日志的一部分,它将环境变量输出为/var/runtime。即使您通过Cloud9设置来设置该路径,您也会像我一样发现这些设置并不适用。

我希望将我所有的层都设置在~/environment/layers/layername下,这样我就可以将我所有的库和依赖项都放在:~/environment/layers/scikit-learn/python/...下,我会使用相同的scikit learn目录来实际创建用于远程部署的层。

但这并不管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59332143

复制
相关文章

相似问题

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