首页 > 解决方案 > Azure 云功能无法访问依赖项

问题描述

我一直在尝试获得一个功能来使用模型识别图像中的内容。我已经让它在本地运行良好。不幸的是,当我发布它时它不起作用。

我收到以下问题:

Exception: ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
Stack:   File "/usr/local/lib/python3.6/site-packages/azure_functions_worker/dispatcher.py", line 240, in _handle__function_load_request
    func_request.metadata.entry_point)
  File "/usr/local/lib/python3.6/site-packages/azure_functions_worker/loader.py", line 66, in load_function
    mod = importlib.import_module(fullmodname)
  File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/site/wwwroot/MyHttpTrigger/__init__.py", line 3, in <module>
    import  cv2
  File "/usr/local/lib/python3.6/site-packages/cv2/__init__.py", line 3, in <module>
    from .cv2 import *

我尝试使用 docker 上传方法和内置上传方法,都给出了同样的问题。

有没有人看到这个问题,你是如何解决的。

Docker 和 Python 对我来说都是新的,所以请解释一下。

标签: pythonazureazure-functions

解决方案


看起来它在抱怨找不到 cv2 库。我建议使用当前选择加入的新远程构建功能。这比使用 docker 方法要容易得多。如果从 CLI 发布,则为:

func azure functionapp publish <function-name> --build remote

应该上传 requirements.txt 文件,直接在函数环境中构建和解析依赖。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#publishing-to-azure


推荐阅读