- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始使用 azure 函数,并尝试在本地使用 VS Code 和 Azure Functions 扩展编写一个小示例。
例子:
# First party libraries
import logging
# Third party libraries
import numpy as np
from azure.functions import HttpResponse, HttpRequest
def main(req: HttpRequest) -> HttpResponse:
seed = req.params.get('seed')
if not seed:
try:
body = req.get_json()
except ValueError:
pass
else:
seed = body.get('seed')
if seed:
np.random.seed(seed=int(seed))
r_int = np.random.randint(0, 100)
logging.info(r_int)
return HttpResponse(
"Random Number: " f"{str(r_int)}", status_code=200
)
else:
return HttpResponse(
"Insert seed to generate a number",
status_code=200
)
当全局安装 numpy 时,这段代码工作正常。但是,如果我只在虚拟环境中安装它,则会出现以下错误:
*Worker failed to function id 1739ddcd-d6ad-421d-9470-327681ca1e69.
[15-Jul-20 1:31:39 PM] Result: Failure
Exception: ModuleNotFoundError: No module named 'numpy'. Troubleshooting Guide: https://aka.ms/functions-modulenotfound*
多次查看虚拟环境中安装了numpy,并且在.vscode/settings.json文件中也指定了环境。
virtualenv“worker_venv”的 pip 卡住:
$ pip freeze
azure-functions==1.3.0
flake8==3.8.3
importlib-metadata==1.7.0
mccabe==0.6.1
numpy==1.19.0
pycodestyle==2.6.0
pyflakes==2.2.0
zipp==3.1.0
.vscode/settings.json 文件:
{
"azureFunctions.deploySubpath": ".",
"azureFunctions.scmDoBuildDuringDeployment": true,
"azureFunctions.pythonVenv": "worker_venv",
"azureFunctions.projectLanguage": "Python",
"azureFunctions.projectRuntime": "~2",
"debug.internalConsoleOptions": "neverOpen"
}
我试图在文档中找到一些东西,但没有找到任何关于虚拟环境的具体内容。我不知道我是否遗漏了什么?
编辑:顺便说一句,我在 Windows 10 机器上
编辑:我在下图中包含了我项目的文件夹结构
编辑:在下图中添加了虚拟环境 Lib 文件夹的内容
编辑:使用下面的 pip install numpy
命令添加了终端的屏幕截图
编辑:使用新的虚拟环境创建了一个新项目并重新安装了 numpy,如下截图,问题仍然存在。
编辑:在下面添加了 launch.json 代码
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Python Functions",
"type": "python",
"request": "attach",
"port": 9091,
"preLaunchTask": "func: host start"
}
]
}
已解决
所以问题既不在于 python,也不在于 VS Code。问题是我的机器(新笔记本电脑)上的执行策略设置为受限,因此无法运行 .venv\Scripts\Activate.ps1
脚本。
要解决此问题,只需使用管理员权限打开 powershell 并运行 set-executionpolicy remotesigned
。重启 VS Code 一切正常
我没有看到错误,因为在终端中发生了很多登录当你开始天蓝色。我会将@HuryShen 的答案标记为正确,因为这些评论让我找到了解决方案。谢谢大家
最佳答案
这个问题,我不清楚你是在本地运行还是在azure cloud上运行报错。所以针对这两种情况给出两种建议。
1. 如果您在azure上运行该函数时出现错误,您可能没有成功安装模块。将函数从本地部署到 azure 时,需要将模块添加到 requirements.txt
(如 Anatoli 在评论中提到的)。您可以通过以下命令自动生成 requirements.txt
:
pip freeze > requirements.txt
之后,我们可以在requirements.txt
中找到numpy==1.19.0
。
现在,通过以下命令将函数从本地部署到 azure,它将在 azure 上成功安装模块并在 azure 上正常工作。
func azure functionapp publish <your function app name> --build remote
2. 如果在本地运行函数时出现错误。由于您提供了安装在 worker_venv
中的模块,看来您已经成功安装了 numpy
模块。我也在本地测试它,安装 numpy
并且它工作正常。所以我认为您可以检查您的虚拟环境 (worker_venv
) 是否存在于正确的位置。下面是我在本地VS代码中的函数结构,请检查你的虚拟环境是否和我的在同一个位置。
-----更新------
运行命令设置执行策略,然后激活虚拟环境:
set-executionpolicy remotesigned
.venv\Scripts\Activate.ps1
关于python - 在 VS Code 和 virtualenv 中使用 Azure Functions 时找不到 Numpy 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62916388/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!