背景獲取PIL /枕頭4.2.1正確上傳到AWS LAMBDA Py3.6
我一直在努力,在過去幾天部署使用枕頭拉姆達,我使用Python 3.6部署。值得注意的是,我正在開發Windows 10環境。
第一次嘗試
我開始有點子做嚴格的安裝我的包在我的工作區中的以下內容:
pip3 install pillow -t "D:\Work and Projects\...\...\<projectdir>\pillow"
我還有其他的包,並試圖在同一莊園安裝包,其中一個具體是praw
,我是這麼做的:
pip3 install praw -t "D:\Work and Projects\...\...\<projectdir>\praw"
zipp荷蘭國際集團我的項目的內容一起,我上傳了我的包達Lambda和在我的第一次測試,我收到了錯誤:
Unable to import module 'motw_lambda': cannot import name '_imaging'
我然後取出枕頭包,企圖看到這個問題是從詞幹(枕頭或大蝦或其他包裹之一)。隨着枕頭被移除,執行成功。然後我在包裝中取出的pillow
包和嘗試:
pip3 install pillow -t "D:\Work and Projects\...\...\<projectdir>\PIL"
和
pip3 install pillow -t "D:\Work and Projects\...\...\<projectdir>\Pillow"
,但得到與包'_imaging'
同樣的錯誤。
進一步嘗試
我再接着每this resource和this方向。我也嘗試使用virualenv甚至lambda-uploader。
奇怪的是,我得到了同樣的錯誤!我都在這裏的選擇,感覺要麼我正在做一些愚蠢的事情,或者說這是不可能在Lambda-Python3.6目前(雖然我不能成爲其他人還沒有在py3中使用過的枕頭.6-lambda尚未...)
任何信息,幫助或通用資源,將不勝感激!
您可以發佈完整回溯?什麼是試圖導入'_imaging'和從哪裏?試圖導入時出現什麼錯誤?你能夠成功導入praw?這可能是任何數量的問題,動態鏈接失敗,pythonpath等...您需要提供更多信息。 fwiw,考慮到你在windows上,並且lambda可能使用linux的風格,你的枕頭二進制文件可能是爲windows編譯的,並且不能在linux中運行。 – khazhyk
玩這個猜測,https://stackoverflow.com/問題/ 8614261/cross-compiling-python-extensions提供了一些關於如何從windows交叉編譯linux的提示 – khazhyk
@khazhyk,我引用的其中的錯誤*就是整個堆棧跟蹤。另外,感謝您的鏈接,我會看看! –