Неисправность загрузки библиотеки azure -cosmos для функции Python 3.8 Azure - PullRequest
1 голос
/ 12 апреля 2020

У меня трудное время для правильной загрузки библиотеки Python azure -cosmos для локального тестирования функции в VS Code.

Указанная c ошибка I ' Получается (с укороченным путем к файлу): Exception: ImportError: cannot import name 'exceptions' from 'azure.cosmos' ([shortened]/.venv/lib/python3.8/site-packages/azure/cosmos/__init__.py)

Вещи, которые я проверял / пробовал до сих пор:

  • Проверьте, что require.txt указывает azure -cosmos
  • Вручную go в python для каждого из переводчиков, доступных в коде VS, и убедитесь, что я могу вручную импортировать azure .cosmos
  • Как указано здесь , попытаться переустановить библиотеку azure -cosmos, используя pip3 и убедившись, что используется флаг --pre.
  • [обновлено] проверено Успешно могу import azure.cosmos.cosmos_client as cosmos_client без ошибок

Есть идеи? Спасибо! Ниже приведен соответствующий раздел моего кода.

import datetime
import logging
import tempfile
import requests
import os
import zipfile
import pandas as pd
import azure.functions as func
from azure.cosmos import exceptions, CosmosClient, PartitionKey

def main(mytimer: func.TimerRequest, calendars: func.Out[func.Document]) -> None:
    logging.info("Timer function has initiated.")

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

Это то, с чем вы сталкиваетесь сейчас:

enter image description here

Это официальное заявление c:

https://github.com/Azure-Samples/azure-cosmos-db-python-getting-started

В этом коде c рассказывается, как решить эту проблему.

Таким образом, решение заключается в установке предварительной версии (решение Джорджа Чена верно).

Не установлена ​​предварительная версия - это причина root, но, пожалуйста, обратите внимание, что вам нужно сначала удалить пакет. В противном случае предварительная версия не будет установлена. (Только запуск install pre не решит эту проблему, сначала необходимо удалить все связанные пакеты. А затем установить предварительный пакет.)

enter image description here

1 голос
/ 13 апреля 2020

Необходимость azure .cosmos зависит от того, соответствует ли привязка функции вашим потребностям, если привязка может делать то, что вы хотите, предположим, вам не нужно использовать azure.cosmos.

Об этой ошибке импорта Я могу воспроизвести это исключение, и я проверяю решение github, в которое нужно добавить флаг --pre.

Так что мое решение - от go до task.json в .vscde, добавьте флаг к команда, подобная приведенной ниже.

enter image description here

Если вы хотите получить более подробную информацию о привязке космоса, вы можете обратиться к этому: c: Azure Космос DB триггера и привязки

...