首页 > 解决方案 > Azure 命令行工具,无法导入 `cygrpc`

问题描述

我正在阅读Microsoft 网站上的 Azure 功能教程,并且逐字逐句地进行操作,但是,当我func host start在错误日志中运行本地服务器时,我看到了ImportError: cannot import name 'cygrpc'什么?

所有错误似乎都来自 azure-functions-core-toolsC:\Users\XXX\AppData\Roaming\npm\node_modules\azure-functions-core-tools

这是带有回溯的完整日志

标签: azureazure-functions

解决方案


如果您使用的是 32 位 python,则会出现此错误,目前在他们的Github 页面上有一个未解决的问题。

如果您pyenv用于管理您的安装,您首先要验证您使用的64 bit是 python 上的版本。要做到这一点,打开一个终端并运行python,如果你正在运行64 bit你应该看到的版本:

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

如果您看到您正在运行32 bitpython,那么您将需要安装正确的版本。如果你跑

pyenv install -l

您将获得所有可用 python 版本的列表。这些64 bit版本通常共享相似的前缀amd64,因此请使用该前缀查找您想要的版本并安装它。截至 2019 年 9 月 10 日,Azure 功能仅支持 3.6.x,我安装了3.6.5-amd64,还有3.6.8-amd64

pyenv install 3.6.5-amd64

然后,您可以使用以下方法验证已安装的版本:

pyenv versions

推荐阅读