在使用無服務器雲函數SCF時通常會遇到導入第三方庫的問題,很多開發者比較頭疼是:應該如何打包進去?這裏,推薦幾個不錯的方法。
方法1: 官方方案
官方方案地址:
https://cloud.tencent.com/document/product/583/9702
在這個方案中,基本上有以下幾個步驟:
- 獲得依賴列表
- 安裝依賴到目錄
- 生成zip
- 測試
以安裝Pillow爲例: 安裝pipreqs,可以使用pip install pipreqs,這個是一個可以獲取本文項目中依賴的工具
建立文件夾,並且建立測試文件:
文件內容:
import PIL
獲得需要依賴,生成文件:
文件內容:
安裝requirements:
sudo pip3 install -r requirements.txt -t /home/dfounderliu/code/pillowtest
查看結果與本地測試:
壓縮文檔:
雲函數中測試:
提示錯誤:
按照雲函數要求寫main_handler:
至此,通過官方提供的方法安裝完成。
方法2: Pycharm快速安裝
首先,新建項目pillowtest,這裏要選擇virtualenv
然後,建立文件index.py:
安裝Pillow:
安裝完成之後,可以看到:
此時我們將安裝過來的文檔移動到pillowtest的目錄下,然後將非venv目錄進行壓縮:
此時,我們將結果上傳到雲函數,並適當修改index.py:
方法3: 自行復製法
這種方法是指,我們用了某個包,可以自己下載源碼並且將其複製到目錄下,具體方法可以參考上一篇實戰:
《Serverless實踐系列(一):如何通過SCF與自然語言處理爲網站賦能》
作者介紹:
劉宇,騰訊雲Serverless團隊後臺研發工程師。畢業於浙江大學,先後參與騰訊云云函數產品研發、自動擴縮容、CLI等模塊建設以及社區相關工作。本文轉載自微信公衆號 ServerlessCloudNative(ID:ServerlessGo)
相關文章:
《Serverless 實踐系列(一):如何通過 SCF 與自然語言處理爲網站賦能》
《Serverless 實踐系列(三):突破傳統 OJ 瓶頸,“判題姬”接入雲函數》
《Serverless 實踐系列(四):網站監控腳本的實現》