![](/img/trans.png)
[英]How can I import Python modules running as an Azure Function on a Linux Consumption Plan?
[英]Azure functions: Installing Python modules and extensions on consumption plan
我正在嘗試使用Azure功能運行python腳本。 我成功更新了python版本並在App Services計划下的Azure功能上安裝模塊,但我需要在消費計划下使用它,因為我的腳本每天只執行一次,只需幾分鍾,所以我只想支付執行的時間。 請參閱: https : //azure.microsoft.com/en-au/services/functions/
現在我還是新手,但根據我的理解,消費計划會在你的腳本執行后終止vm並終止它,這與應用程序服務計划不同。 我不確定為什么這意味着我不能在其上安裝任何東西。 我認為這只是意味着我必須在每次旋轉時安裝它。
我已經嘗試通過python腳本本身和kudu命令行安裝模塊但沒有成功。
雖然根據應用服務計划,它很簡單,遵循本教程: https : //prmadi.com/running-python-code-on-azure-functions-app/
關於功能消費計划,Kudu擴展不可用。 但是,您可以更新pip以便能夠正確安裝所有依賴項:
你的shell現在應該以(myvenv)為前綴
現在在Azure門戶中,在腳本中更新sys.path以添加此venv:
import sys, os.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname( __file__ ), 'myvenv/Lib/site-packages')))
你應該能夠立即開始你想要的。
(參考: https : //github.com/Azure/azure-sdk-for-python/issues/1044 )
編輯:閱讀以前的評論,看來你需要numpy。 我剛剛測試了,我能夠安裝1.12.1而沒有任何問題。
您可以在消費計划中上傳您選擇的Python版本的模塊。 請參閱此鏈接上的說明: https : //github.com/Azure/azure-webjobs-sdk-script/wiki/Using-a-custom-version-of-Python
這對我有用:
Dislaimer:我使用包含Python腳本執行的C#函數,使用
System.Diagnostics.Process
類的命令行。
從Azure門戶添加Azure功能的相關Python擴展: 平台功能 - >開發工具 - >擴展
它將python安裝到D:\\home\\python364x86
(從Kudu控制台看到)
添加名為WEBSITE_USE_PLACEHOLDER的應用程序設置,並將其值設置為0 。 這是解決Azure函數問題所必需的,該問題會導致Python擴展在卸載函數應用程序后停止工作。
請參閱: 在Azure Functions問題中使用Python 3 。
使用pip install ...
從Kudu CMD線路控制台安裝軟件包pip install ...
(在我的情況下是pip install pandas
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.