【发布时间】:2020-05-23 16:36:39
【问题描述】:
我正在尝试在 Azure 函数中为我的 python 脚本安装模块。我已阅读有关使用 Kudu 工具进行 pip 安装的文档。但是,这在 Linux 应用程序上是不允许的。此外,微软似乎已经贬低了对 Python Azure Functions 在 Windows 操作系统上运行的支持。以下是我目前所拥有的。
编辑更新:我做了更多研究,发现安装 python 模块的方法是使用 venv,然后将 venv(安装了 pip 包)部署到 Azure Function。我在安装了 pip 包的文件夹路径中创建了 venv,但问题仍然存在。
文件夹结构
-FunctionApp
-MainFunction
-_init_.py
-functions.json
-Requirements.txt
Requiremtents.txt 文件包含:
psycopg2 == 2.8.5
yfinance == 0.1.54
Init.py 文件包含以下代码,用于导入Requirements.txt 文件中引用的模块:
import psycopg2
import yfinance
当我尝试在 Azure 门户中运行该函数时,我收到以下错误:
Result: Result: Failure Exception: ImportError: libpq.so.5: cannot open shared object file: No such file or directory Stack: File "/azure-functions-host/workers/python/3.7/LINUX/X64/azure_functions_worker/dispatcher.py", line 242, in _handle__function_load_request func_request.metadata.entry_point) File "/azure-functions-host/workers/python/3.7/LINUX/X64/azure_functions_worker/loader.py", line 66, in load_function mod = importlib.import_module(fullmodname) File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/site/wwwroot/Navi_Function_Notifier/__init__.py", line 3, in <module> import psycopg2 File "/home/site/wwwroot/.python_packages/lib/site-packages/psycopg2/__init__.py", line 51, in <module> from psycopg2._psycopg import ( # noqa
如果有人能够在 Linux 上的 Azure 函数中导入 python 模块,我将不胜感激!
【问题讨论】:
标签: python pip azure-functions