2017-08-24 65 views
0

我的目標是運行一個在Azure WebJob上使用Anaconda庫(例如Pandas)的python腳本,但似乎無法弄清楚如何加載庫。Web作業上的Python庫

我開始只是通過測試一個簡單的藍色blob blob文件副本,它在本地運行時工作,但在WebJob中運行時遇到錯誤「ImportError:No module named'azure'」。

示例代碼:

from azure.storage.blob import BlockBlobService 
blobAccountName = <name> 
blobStorageKey = <key> 
containerName = <containername> 
blobService = BlockBlobService(account_name=blobAccountName, 
account_key=blobStorageKey) 
blobService.set_container_acl(containerName) 
b = blobService.get_blob_to_bytes(containerName, 'file.csv') 
blobService.create_blob_from_bytes(containerName, 'file.csv', b.content) 

正如你所看到的,我甚至不能Azure的SDK庫運行......更不用說狂蟒之災:-(

因此,我將不勝感激,如果有人能夠引導我一步一步...

如何運行,需要外部庫,如蟒蛇(甚至Azure的SDK)一個Python腳本。我怎麼「PIP安裝」這些東西對於一個WebJob?

謝謝!

回答

1

看起來你已經知道Azure WebJobs的部署了,我提供以下步驟來展示如何在python腳本中加載外部庫。

步驟1: 使用的virtualenv組件來創建你的system.Please一個獨立的Python運行時環境命令pip install virtualenv先安裝它,如果你沒有它。

如果您安裝成功,您可以在您的python /腳本文件中看到它。

enter image description here

第二步:運行commad創建獨立的Python運行時環境。

enter image description here

第3步:然後進入創建的目錄的腳本文件夾,並激活它(這一步是很重要的,千萬不要錯過哦

enter image description here

請不要關閉此命令窗口並使用pip install <your libraryname>在此命令窗口中下載外部庫。

enter image description here

第4步:保持Sample.py均勻壓縮到一個文件夾在你依靠利布斯/站點包文件夾中的庫包。

enter image description here

步驟5: 創建的Web應用程序服務webjob並上傳zip文件,那麼你可以執行你的Web作業並檢查日誌

enter image description here

您也可以參考SO線程:Options for running Python scripts in Azure

另外,如果您想使用Anaconda中的模塊,請單獨下載它們。無需下載整個庫。

希望它可以幫助你。

+0

感謝您的幫助!...我嘗試了以下步驟..在我的G:驅動器中創建了PythonSandbox ... pip安裝Azure並將其壓縮。不幸的是,我仍然遇到了一個錯誤,這次在D:\ local \ temp \ jobs..i在這裏捕獲了圖像[Inline Link](http://imgur.com/a/Gtj2D):-( – ianch

+0

@ianch It似乎外部庫已經在你的WebJob中,取決於你提供的異常日誌信息,我找不到具體的錯誤異常,請你顯示關於錯誤日誌的更多細節? –

+0

當然Jay,這裏是完整的錯誤日誌。 .. [LINK](http://imgur.com/PjT3Chi) – ianch