我目前有一个MVC项目,可以通过Process调用python脚本(新的processStartinfo(“ / path / to / python.exe”,“ /path/to/script.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#中,似乎可以将Python脚本与NLTK包一起使用。
我试图通过以下一种变通方法来实现它,并且效果很好。
步骤1.在Azure WebApp上安装Python和NLTK
https://<your webapp name>.scm.azurewebsites.net
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
https://<your webapp name>.scm.azurewebsites.net/ProcessExplorer/
第2步。用于使用NLTK软件包测试Python脚本
touch test.py在路径下命令wwwroot,然后编辑以下内容。
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.通过Process在C#中调用python脚本
Process
仅仅只使用python运行和脚本的absoulte路径D:\home\Python27\python&D:\home\site\wwwroot\test.python来代替他们在你的C#代码。
D:\home\Python27\python
D:\home\site\wwwroot\test.python
请尝试并反馈您的结果。如有任何疑问,请随时告诉我。