azure - 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
这是带有回溯的完整日志
解决方案
如果您使用的是 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 bit
python,那么您将需要安装正确的版本。如果你跑
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
推荐阅读
- javascript - 从 JSON 数据按组显示嵌套的 JS 数组到 HTML
- apache-spark - 如果我让火花驱动器崩溃会发生什么。执行人会说清楚吗?
- r - R markdown flexdashboard - ramchart & highcharter - 显示问题
- python - 如何将 pyqt4 与当前的 python 和 spyder 版本一起使用?
- python - 在 pandas 多索引数据帧上绘制两个级别的 x_ticklabels
- java - 无法使 MediaStyle 通知的媒体按钮正常工作
- c# - 当有人使用某种 CLR 方法时,我可以发出构建警告吗?
- angular - Angular 2x Geolocation 自动完成的开源替代方案
- node.js - Node.js express、ejs、request - 在请求时显示纺车
- winapi - 在 Windows 2008(32 位)中无法读取同一分支下的某些注册表项