2016-02-25 6 views
1

Я пытаюсь создать функцию лямбда, загрузив zip-файл с одним .py-файлом в корневом каталоге и двумя папками, которые содержат запросы lib, загруженные через pip.python lambda не может обнаружить упакованные модули

Запуск кода локального файла работ. Когда я почтовый и загрузить код, который я очень часто получаю эту ошибку:

Unable to import module 'main': No module named requests

Иногда мне удается исправить это, но его непоследовательным, и я не знаю, как я это делаю. Я использую следующую команду:

в корневой директории zip -r upload.zip *

Это как я импортирующие запросы:

import requests

FYI: 1. Я пытавшийся ряд различных методы импорта, используя точный путь, который потерпел неудачу, поэтому я задаюсь вопросом, не является ли эта проблема? 2. Каждый раз, когда это терпит неудачу, и я мог заставить его работать в лямбда, его вовлечение в многопоточность с помощью zip-команды, поскольку я думал, что проблема в том, что я неправильно скопировал содержимое и скрыл их за дополнительным родителем папка.

С нетерпением ждем глупой ошибки, которую я делаю!

Добавление фрагмента кода:

import json   ##Built In 
import requests  ##Packaged with 
import sys   ##Built In 

def lambda_function(event, context): 

alias = event['alias'] 
message = event['message'] 
input_type = event['input_type'] 

if input_type == "username": 
    username = alias 
elif input_type == "email": 
    username = alias.split('@',1)[0] 
elif input_type is None: 
    print "input_type 'username' or 'email' required. Closing..." 
    sys.exit() 

payload = { 
      "text": message, 
      "channel": "@" + username, 
      "icon_emoji": "<an emoji>", 
      "username": "<an alias>" 
      } 

r = requests.post("<slackurl>",json=payload) 
print(r.status_code, r.reason) 
+0

, пожалуйста, добавьте ваш код –

ответ

1

Я получил некоторую помощь вне цикла StackOverflow, и это, кажется, последовательно работать.

zip -r upload.zip main.py requests requests-2.9.1.dist-info

Смежные вопросы