大佬教程收集整理的这篇文章主要介绍了在Azure上发布Flask Web App,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
根据我的经验,有很多原因会导致像您一样的问题。
对于第一种情况,reqirements.txt
文件中所需的某些Python程序包未直接安装在Azure
WebApp上。对于这种情况,您需要遵循官方规章进行故障排除)以解决该问题。甚至,对于其他使用python脚本解决该问题的SO线程发布MVC应用程序,您也可以尝试遵循我的解决方案。
但是,我认为您的问题可能是由senna_path
代码中的引起的,这不是Azure
WebApp上的有效路径。我尝试如下创建一个简单的Python脚本,以使用Azure
WebApp上的Kudu控制台测试您的代码,通过command可以正常工作python test.py > test.out.txt
。
import os
from subprocess import Popen, PIPE
path = os.path.join('senna-win32.exe')
p = Popen(path, stdin=PIPE, stdout=PIPE)
grep_stdout = p.communicate(input="happy time".encode('utf-8'))[0]
inList = grep_stdout.decode()
inList = List(inList.splitlines())
print inList
因此,我的建议是尝试使用绝对路径D:\home\site\wwwroot\FlaskWebProject1\senna\senna-
win32.exe
代替senna\senna-win32.exe
您的应用程序来解决问题。
任何更新,请随时让我知道。
我有Flask网络应用程序,我正在尝试在Azure上发布。我将其部署在Web应用程序上,创建了新资源,下载了用户发布的配置文件,并使用下载的文件从Visual
studio中发布了它。一切都可以在localhost上顺利运行,但是一旦发布就会出现错误:
我几乎不知道这意味着什么。这是我发布的第一个网站,非常新手。
我的项目具有以下结构。
我的Views.py使用以下代码调用senna-win32.exe:
senna_path = os.path.join('senna\\senna-win32.exe')
p = subprocess.Popen(senna_path,stdout=subprocess.PIPE,stdin=subprocess.PIPE)
grep_stdout = p.communicate(input=bytes(va,'utf-8'))[0]
inList = grep_stdout.decode()
inList = list(inList.splitlines())
以上是大佬教程为你收集整理的在Azure上发布Flask Web App全部内容,希望文章能够帮你解决在Azure上发布Flask Web App所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。