我创建了一个Python Azure HttpTrigger函数,该函数也在本地执行。它在本地工作正常,但是当我在azure上部署Azure HttpTrigger函数时,出现以下错误:-
There was an error restoring dependencies. ERROR: cannot install pyodbc-4.0.25 dependency: binary dependencies without wheels are not supported.
Use the --build-native-deps option to automatically build and configure the dependencies using a Docker container. More information at https://aka.ms/func-python-publish
我在requirement.txt file
中添加了Pyodbc软件包。当python azure函数部署在azure上时,pyodbc安装在本地python路径上而不是.env路径中。
我已经选择了python解释器\.env\Scripts\python.ext
,但是pyodbc软件包安装在本地python路径上。
我无法理解如何解决以上问题?如果有人知道解决方案,请告诉我。我想在天蓝色的功能上安装软件包。
答案 0 :(得分:0)
我想您对如何在Azure函数应用程序中安装和使用Python第三方模块感到困惑。您可以参考我的工作步骤。
第1步:
导航到您的功能应用kudu url:$(element).perfectScrollbar({
minScrollbarLength: 40,
maxScrollbarLength: 80
});
。
在https://Your_APP_NAME.scm.azurewebsites.net/DebugConsole
文件夹中运行以下命令(需要一些时间)
d:/home/site/wwwroot/<your function name>
第2步:
通过以下命令在python -m virtualenv myvenv
文件夹中加载环境。
env/Scripts
第3步:
您的外壳现在应该以(env)为前缀。
更新点
activate.bat
安装所需的内容
python -m pip install -U pip
第4步:
在您的代码中,更新sys.path以添加此venv:
python -m pip install MySQLdb <pyodbc>
然后通过下面的代码段连接到mysql db
import sys, os.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname( __file__ ), 'env/Lib/site-packages')))
此外,您还可以参考我之前的案例:Import module into Python Azure Function。