发布使用python脚本的MVC应用程序

我目前有通过Process调用python脚本的MVC项目(新的processStartinfo(“/ path / to / python.exe”,“/ path / to / scripts.py”)。这在visual studio中运行得非常好。当我发布这个时在azure上如何能够调用python.exe?(我可能没有准确地构建这个问题,因为这是我第一个发布的网页,并且没有完全理解发布)

PS我确实尝试使用IronPython,但由于我的脚本使用NLTK,我遇到了一堆问题所以用pip安装python&nltk比较容易,然后通过带有/ path / to / script参数的命令行调用python.exe。 PY。 任何输入都表示赞赏。

编辑:我的homeController启动一个进程,它将path_of_python,path_of_script传递给命令行,重定向输出并对它返回的数据(从输出)进行处理。

似乎可以在Azure网站上的C#中使用带有NLTK包的Python脚本。

我尝试通过下面的解决方法实现它,它工作正常。

步骤1.在Azure WebApp上安装Python和NLTK

  1. 通过URL https://.scm.azurewebsites.net访问您的webapp的Kudu工具。
  2. 安装站点扩展Python 2.7.12 x86 ,如果使用32位版本的Azure WebApp作为示例,将安装在路径D:\home在此处输入图像描述
  3. 切换到Kudu CMD,然后您可以看到已在此处安装的新Python运行时,您有权对其进行任何操作。 在此处输入图像描述
  4. 命令cd Python27touch get-pip.py并通过Edit按钮将url https://bootstrap.pypa.io/get-pip.py的内容复制到get-pip.py ,然后运行python get-pip.py安装pip工具。 在此处输入图像描述
  5. Command Scripts\pip install nltk安装nltk包。
  6. 要下载nltk数据,请执行以下命令python -m nltk.downloader -d D:\home\Python27\nltk_data all ,请不要关闭当前浏览器窗口或切换其他URL,直到命令完成 在此处输入图像描述 您可以通过url https://.scm.azurewebsites.net/ProcessExplorer/在其他浏览器窗口中查看正在进行的下载任务。 在此处输入图像描述 6.1或者您可以在本地下载nltk数据以将其上载到Azure WebApp。

步骤2.使用NLTK包测试Python脚本

  1. 命令touch test.py在路径wwwroot ,并编辑下面的内容。

     import nltk sentence = """At eight o'clock on Thursday morning ... Arthur didn't feel very good.""" tokens = nltk.word_tokenize(sentence) print tokens 
  2. 控制台显示如下结果,它的工作原理。 在此处输入图像描述

步骤3.通过C#中的Process调用python脚本

只使用python运行时的D:\home\Python27\python路径和脚本D:\home\Python27\pythonD:\home\site\wwwroot\test.python而不是在C#代码中使用它们。

请尝试反馈您的结果。 如有任何疑虑,请随时告诉我。