2017-08-07 48 views
0

我正在爲AWS Lambda創建部署包。 Lambda需要在virtualenv中安裝軟件包後,對'$VIRTUALENV/lib/python2.7/site-packages'文件夾內包含的所有內容進行壓縮。需要OSX virtualenv才能下載.so以及.dylibs

當我在linux機器上執行此過程時,它工作順利。
但是當我從Mac(Mac Sierra)重複這個過程時,我遇到了一個小問題。
Mac下載.dylibs而不是.so當我做pip install Pillow。 因此,部署在Lambda上失敗。

我驗證過,如果我從Pillow軟件包的linux機器上安裝.so,它可以在AWS上運行。

當在Mac上使用virtualenv時,除之外有什麼方法可以下載.so嗎?這將使我可以無縫地將軟件包從Mac部署到AWS Lambda。

我的項目規模稍大。枕頭不是我可能需要的唯一包裹,會遇到這樣的問題。

回答

1

virtualenv下載可用於運行Python解釋器的軟件包。據我所見,沒有選擇將軟件包交叉編譯到其他體系結構。

您不能在OSX上本地運行Linux解釋器,因此您需要使用Linux機器(真實的,容器或虛擬機)構建正確的virtualenv

可能最無縫的解決方案是容器(例如Docker for Mac)。 然後,您可以將工作目錄掛載到合適的容器中,併爲Linux容器創建一個並行的virtualenv

相關問題