lambda python aws_在Python中使用AWS与AWS Lambda的问题

我正在尝试使用AWS Lambda Python(Python btw中的初学者)开始运行,但是在包含MySQL依赖性方面存在一些问题。我试图按照我的Mac上的说明

here。

对于步骤3,我在我的项目根目录下执行命令时遇到一些问题

sudo pip install MySQL-python -t /

错误:

Exception:

Traceback (most recent call last):

File “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py”, line 122, in main

status = self.run(options, args)

File “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py”, line 311, in run

os.path.join(options.target_dir, item)

File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py”, line 292, in move

raise Error, “Destination path ‘%s’ already exists” % real_dst

Error: Destination path ‘/MySQL_python-1.2.5-py2.7.egg-info/MySQL_python-1.2.5-py2.7.egg-info’ already exists

我最终编写了我以下的lambda函数(在我的Mac上工作正常),它是:

import MySQLdb

def lambda_handler(event, context):

# Open database connection

db = MySQLdb.connect(...)

# prepare a cursor object using cursor() method

cursor = db.cursor()

sql = "SELECT * FROM Users"

try:

# Execute the SQL command

cursor.execute(sql)

# Fetch all the rows in a list of lists.

results = cursor.fetchall()

for row in results:

fname = row[0]

lname = row[1]

age = row[2]

sex = row[3]

income = row[4]

# Now print fetched result

print ("lname=%s" %(lname))

except:

print "Error: unable to fecth data"

# disconnect from server

db.close()

我继续做的是转到/Library/Python/2.7/site-packages并复制下载的MySQLdb文件夹/文件,当我做了sudo pip安装MySQL-python(没有-t /)(我是确定我在这里做错了),到我的lambda项目,然后压缩内容与lambda_function.py并上传到AWS Lambda。

然后我得到:

Unable to import module ‘lambda_function’: No module named MySQLdb

感谢任何帮助和建议!

编辑

能够做sudo pip安装MySQL-python -t / pathToProject工作(感谢在评论中的帮助),但现在我运行lambda函数时得到这个:

Unable to import module ‘lambda_function’: /var/task/_mysql.so: invalid ELF header

我知道如果我在一个Linux机箱上工作,那么它应该可以正常工作(如有些人建议的),但是我想知道是否可以使用它从一个OS X盒子中工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值