[英]How to pip install bcrypt on Azure webapp?
披露:第一次Azure體驗
我正在為Azure Webapp部署Flask應用程序。 所有部署步驟都沒問題,直到我點擊bcrypt軟件包安裝並且它失敗了。
經過大量基於錯誤日志輸出的研究,我發現我可能需要使用wheelhouse(* .WHL)安裝bcrypt
我從這里下載了以下文件
然后我把它們復制到D:\\home\\site\\repository\\wheelhouse
然后,我通過KUDU激活virtualenv並運行此命令:
d:\home\site\wwwroot\env\scripts\pip install -r requirements.txt --find-links d:\home\site\repository\wheelhouse
我沒有收到任何消息或任何日志輸出。 當我運行pip freeze > tmp.txt
我得到一個空白文件。
但是當我運行d:\\python27\\scripts\\pip install -r requirements.txt --find-links d:\\home\\site\\repository\\wheelhouse
它開始安裝軟件包,直到它變為bcrypt並且它出錯並顯示以下消息:
跳過bcrypt-3.1.0-cp27-cp27m-win32.whl因為它與這個Python不兼容
這是一個令人困惑的消息,因為輪子是為Python 2.7
由於我的Flask應用程序在我的Linux和Windows開發機器上運行良好,我繼續在我的Windows計算機上創建自己的brypt輪文件,該文件在Azure上運行相同的Python版本。 我上傳了新的.whl
, .whl
上面的步驟,我仍然得到相同的錯誤消息
額外說明:
--find-links wheelhouse
推送了repo。 Unable to find vcvarsall.bat
錯誤。 這就是為什么我試圖通過車輪手動安裝 我刪除了整個virtualenv,上傳了所有必需包的wheel文件到\\ repository \\ wheelhouse,並添加了--no-index
到我的pip install命令。 除了bcrypt之外,所有東西都安裝好了。
我嘗試了bcrypt==3.1.1
, bcrypt==3.1.0
而只是bcrypt
而沒有指定版本,它沒有任何區別。
我沒有想法了。 誰知道什么是錯的? 如何在Azure webapp上安裝bcrypt?
我終於能夠讓Flask應用程序在Azure Webapps上運行。 不幸的是,我無法使用我常用的開發工具。
方案 :
requirements.txt
文件在Visual Studio中創建了一個VirtualEnv 它做它做的事情,一旦完成,你可能仍然會得到500錯誤。 如果是這種情況,請使用KUDU並查看您的web.config
文件並修改WSGI_ALT_VIRTUALENV_HANDLER
值以匹配您的Flask應用程序名稱。
這是我能夠正確安裝bcrypt
以使我的Flask應用程序正常工作的唯一方法。 我希望這能節省寶貴的時間。
這就是所有人。
您可以嘗試使用easy_install
來安裝pip
無法執行此操作的依賴項。 我做的是:
env\\scripts\\pip install -r requirements.txt
env\\scripts\\easy_install bcrypt==3.1.0
安裝它 您還可以通過編輯deploy.cmd
文件來嘗試自動執行此操作。 這樣,在pip
失敗的任何時候,都會執行easy_install
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.