Python Azure HTTP函数应用程序在发布时中断
我正在用VisualStudio代码和Microsoft Azure开发自然语言处理功能。该函数在http请求时触发,并在测试期间在本地主机上完美工作。但是,当我将函数发布到Azure时,该函数就没有响应,引用了“500内部错误”。我相信问题可能与发布时未安装特定依赖项有关 我的“requirements.txt”文件如下所示Python Azure HTTP函数应用程序在发布时中断,python,azure,nlp,spacy,Python,Azure,Nlp,Spacy,我正在用VisualStudio代码和Microsoft Azure开发自然语言处理功能。该函数在http请求时触发,并在测试期间在本地主机上完美工作。但是,当我将函数发布到Azure时,该函数就没有响应,引用了“500内部错误”。我相信问题可能与发布时未安装特定依赖项有关 我的“requirements.txt”文件如下所示 azure-functions nltk numpy pyodbc pandas sklearn spacy 最后,为了在本地机器上运行该功能,我下载了“en_core
azure-functions
nltk
numpy
pyodbc
pandas
sklearn
spacy
最后,为了在本地机器上运行该功能,我下载了“en_core_web_sm”包。通过在我的虚拟环境中运行“python-MSPACY下载en_core_web_sm”,我可以快速完成这项任务。如果我没有在代码中使用nlp=spacy.load('en\u core\u web\u sm')
行,该函数将成功发布
我担心的是,一旦发布,这个依赖项就不会包含在函数中。我试图通过在requirements.txt文件夹中添加github下载字符串来解决这个问题,因为我可以使用pip安装来下载它https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.3.0.tar.gz
。添加后,requirements.txt文件夹如下所示:
azure-functions
nltk
numpy
pyodbc
pandas
sklearn
spacy
https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.3.0.tar.gz
我还尝试在“tasks.json”文件夹中配置必要的命令,将其更改为包含以下命令:
{
"version": "2.0.0",
"tasks": [
{
"type": "func",
"command": "host start",
"problemMatcher": "$func-watch",
"isBackground": true,
"dependsOn": "pipInstall"
},
{
"label": "pipInstall",
"type": "shell",
"osx": {
"command": "${config:azureFunctions.pythonVenv}/bin/python -m spacy download en_core_web_sm && python -m pip install -r requirements.txt"
},
"windows": {
"command": "${config:azureFunctions.pythonVenv}\\Scripts\\python -m spacy download en_core_web_sm && python -m pip install -r requirements.txt"
},
"linux": {
"command": "${config:azureFunctions.pythonVenv}/bin/python -m spacy download en_core_web_sm && python -m pip install -r requirements.txt"
},
"problemMatcher": []
}
]
}
我将感谢任何帮助,因为这是一个时间敏感的问题。非常感谢你 我刚刚开始研究一个类似的问题。我还没有得到任何工作,但我注意到您的需求文件404s中的链接——它在2.2.0版中寻找一个名为2.3.0的文件。我知道你说这些东西很有用,所以也许这只是这个问题的一个输入错误,但也许就这么简单?