【问题标题】:Missing Dependencies on Python Azure Function缺少对 Python Azure 函数的依赖
【发布时间】:2019-12-31 06:06:23
【问题描述】:

请注意:这在本地可以正常工作,但只会在使用 azure online 功能时出现问题。

错误:

Result: Failure
Exception: ModuleNotFoundError: No module named 'pandas'
Stack:   File "/azure-functions-host/workers/python/3.6/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.6/LINUX/X64/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 "/home/site/wwwroot/HttpExample/__init__.py", line 20, in <module>
    import pandas as pd

进口:

import importlib



import logging

import azure.functions as func

import urllib.request
from zipfile import ZipFile
import json
import csv
import os


import pathlib
import os.path
from pathlib import Path
import time
import pandas as pd
from datetime import datetime
from dateutil.relativedelta import relativedelta

要求:

adal==1.2.2
antlr4-python3-runtime==4.7.2
applicationinsights==0.11.9
argcomplete==1.10.0
azure-cli-command-modules-nspkg==2.0.3
azure-cli-core==2.0.76
azure-cli-nspkg==3.0.4
azure-cli-profile==2.1.5
azure-cli-telemetry==1.0.4
azure-common==1.1.23
azure-functions==1.0.4
azure-mgmt-resource==4.0.0
azure-nspkg==3.0.2
bcrypt==3.1.7
certifi==2019.9.11
cffi==1.13.2
chardet==3.0.4
colorama==0.4.1
cryptography==2.8
humanfriendly==4.18
idna==2.8
isodate==0.6.0
jmespath==0.9.4
knack==0.6.3
msrest==0.6.10
msrestazure==0.6.2
numpy==1.17.3
oauthlib==3.1.0
pandas==0.25.3
paramiko==2.6.0
portalocker==1.5.1
pycparser==2.19
Pygments==2.4.2
PyJWT==1.7.1
PyNaCl==1.3.0
pyOpenSSL==19.0.0
python-dateutil==2.8.1
pytz==2019.3
PyYAML==5.1.2
requests==2.22.0
requests-oauthlib==1.2.0
six==1.12.0
tabulate==0.8.5
urllib3==1.25.6

我已经尝试过:az account clear 和 az login。 如果我写:func azure functionapp publish air-temperature

这会导致错误:There was an error restoring dependencies. ERROR: cannot install cryptography-2.8 dependency: binary dependencies without wheels are not supported. Use the "--build remote" or "--build-native-deps" option to automatically build and configure the dependencies using a Docker container. More information at https://aka.ms/func-python-publish

我没有使用 docker 集成,所以我不能执行 --build-native-deps

我正在使用 azure 存储库将其推送到 azure 存储库中,并且它是无缝构建的,没有依赖项或任何错误。但是,如果我通过门户在线运行它,则会出现顶部提到的此错误。

我也尝试在 python 上使用 venv 和 env 并做了 pip freeze > requirements.txt。

【问题讨论】:

    标签: python azure azure-functions


    【解决方案1】:

    您可以在发布时使用--no-bundler 缓解此问题。

    这里是explanation

    在使用 --build-native-deps 进行一般发布期间,我们尝试使用 Pyinstaller 捆绑所有在您指定的自定义依赖项 requirements.txt 和我们的跑步者(工人)一起。我们开始做 这是为了提高您所追求的启动性能 发布到 Azure Functions。虽然,这个过程一直很不稳定 我们正计划远离它。

    --no-bundler 标志绕过该捆绑过程。因此,我们不使用 Pyinstaller 或任何此类模块进行临时优化。这 需要注意的是,您可能会遇到轻微的延迟(冷启动) 到达您的 API 端点时。

    【讨论】:

      【解决方案2】:

      对我来说,选项 --build remote 在发布函数时会有所帮助:

      func azure functionapp publish air-temperature --build remote
      

      使用选项--no-bundler 时出现此错误:

      警告:参数 --no-bundler 已弃用且无操作。 Python 功能应用不再捆绑。

      【讨论】:

        猜你喜欢
        • 2013-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-19
        • 2014-12-11
        相关资源
        最近更新 更多