我目前有通过Process调用python脚本的MVC项目(新的processStartinfo(" /path/to/python.exe" ;," /path/to/script.py")在视觉工作室中完美无缺。 当我在azure上发布这个如何调用python.exe时? (我可能没有准确地构建这个问题,因为这是我发布的第一个网站,并且没有完全理解发布)
P.S。我确实尝试使用IronPython,但由于我的脚本使用了NLTK,我遇到了一堆问题所以用pip安装python& nltk比较容易,然后通过带有/ path / to / script参数的命令行调用python.exe的.py。任何输入都表示赞赏。
编辑:我的homeController启动一个进程,该进程将path_of_python,path_of_script传递给命令行,重定向输出并对它返回的数据(来自输出)进行处理。
答案 0 :(得分:0)
似乎可以在Azure网站上的C#中使用带有NLTK包的Python脚本。
我尝试通过下面的解决方法实现它,并且它工作正常。
步骤1.安装Python& Azure WebApp上的NLTK
https://<your webapp name>.scm.azurewebsites.net
访问您的网络应用的Kudu工具。Python 2.7.12 x86
上安装的网站扩展D:\home
。
cd Python27
和touch get-pip.py
并将网址https://bootstrap.pypa.io/get-pip.py
的内容通过get-pip.py
按钮复制到Edit
,然后运行python get-pip.py
到安装pip
工具。
Scripts\pip install nltk
安装nltk
包。python -m nltk.downloader -d D:\home\Python27\nltk_data all
,请不要关闭当前浏览器窗口或切换其他网址,直到命令完成
您可以通过其他浏览器窗口中的URL https://<your webapp name>.scm.azurewebsites.net/ProcessExplorer/
查看正在进行的下载任务,如下所示。
6.1或者您可以在本地下载nltk数据以将其上载到Azure WebApp。步骤2.使用NLTK包测试Python脚本
在路径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
步骤3.通过C#中的Process
调用python脚本
只使用python运行时的absoulte路径&amp;脚本D:\home\Python27\python
&amp;在您的C#代码中使用D:\home\site\wwwroot\test.python
代替它们。
请尝试反馈您的结果。如有任何疑虑,请随时告诉我。