问题标签 [uvicorn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - macOS - 找不到命令:uvicorn
我买了一个MAC,第一次使用这个系统,最近我也开始使用python。我有一个带有requirement.txt 文件的python 项目,我用PyCharm 打开该文件,其中还包含对uvicorn 的依赖。我安装了所有依赖项,但是当我尝试运行命令“uvicorn main:app”时,出现错误“找不到命令:uvicorn”。我试图寻找有关我的问题的指南,并且我读到它可能与 PATH 变量有关,并且按照这些指南中所写的内容,我尝试将 PATH 从我的主目录添加到 python。现在我的 python PATH 的内容如下:
/库/Python/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我还读到我应该在 ~/.profile 文件中添加以下行,因为我的 MAC 是新的,所以我无法拥有它,所以我创建了这个文件并编写了下面的行:
导出 PATH=/usr/local/bin:/usr/local/sbin:$PATH
自从我尝试以来,什么都没有改变,所以我在问我应该怎么做。我还看到 pip3 在以下目录中安装了我的 requirements.txt 文件模块:
/usr/local/lib/python3.7/site-packages/
预先感谢您的帮助
python - Gunicorn gevent workers vs Uvicorn ASGI
我目前正在 Django 中开发一项服务,该服务使用缓慢的外部 API(大约需要 10 秒才能得到响应),这意味着与我的服务器的连接保持打开状态等待外部 API 响应,并占用工作人员时间/资源。
我知道我可以使用 gunicorn 的线程或 gevent 工作者来添加并发性,但似乎无法掌握将 gunicorn 与 gevent 工作者和 uvicorn (或任何其他服务器)与 asgi 接口一起使用之间的确切区别。
使用其中一个的标准是什么?
Django 仍然不完全支持 async/await 视图。如果我只坚持 gevent 工人会更好吗?
fastapi - Uvicorn Detect --reload 主线程
我有一个简单的Uvicorn应用程序(使用FastAPI 构建)。在开发中,uvicorn server:app --reload
. 该--reload
参数表示将启动两个线程,一个与服务器有关,一个用于监视文件更改-当检测到文件更改时,重新启动与服务器的线程。
到目前为止没有什么特别的。这在 Flask、Django 和其他开发服务器中也很常见。问题是,我想pyngrok
在启动开发服务器时打开一个隧道,并且我希望该隧道与这两个线程的父级一样长。也就是说,当检测到文件更改并重新启动开发服务器时,我不希望重新启动隧道(因为ngrok
这样会导致生成新的公共 URL 并中断现有连接)。
使用 Flask 和 Django,这相对容易实现。例如,使用 Flask 我只是简单地做os.environ.get("WERKZEUG_RUN_MAIN") != "true"
,使用 Django 我类似地评估RUN_MAIN
环境变量,并且在任何一种情况下,我只在这些设置为时实例化隧道true
。我找不到与 Uvicorn 一起使用的类似变量。任何人都可以在这里帮忙吗?
gunicorn - 在 ubuntu 服务器上使用 uvicorn 运行 fastapi 应用程序
我正在处理将 FastAPI 上的项目沉积到远程 ubuntu 服务器。我将尝试通过命令从终端(使用 SSH 连接)运行项目
输出是
但我需要该项目在服务器的 IP 地址上可用。如果我尝试
我明白了
Where 66.226.247.55 - 来自谷歌云平台实例的外部 IP 地址 如何启动项目以便可以通过 IP 访问?
python - 如何在 uvicorn 日志中为每个请求添加时间戳?
当我使用 uvicorn 运行我的 FastAPI 服务器时:
运行服务器后我得到的日志:
如何获取时间戳以及请求记录?喜欢:
python - 使用 uvicorn 运行时,fastapi 找不到模型定义
我想在 fastapi 后端托管一个 pytorch 模型。当我用 python 运行代码时,它工作正常。depickled 模型可以使用定义的类。当使用 uvicorn 启动同一个文件时,它找不到类定义。
源代码如下所示:
当我使用它运行它时,python main.py
它工作正常并且我得到了结果。当我运行它 uvicorn main:app
并发送请求时,我收到以下错误:
两者都应该使用相同的 python 环境,因为我在环境中使用 uvicorn。
我希望有人知道我的设置或代码有什么问题。
更新堆栈跟踪:
python - “()”在python日志配置中做了什么
我在uvicorn的源代码中看到了一个 python dict 日志配置。
在那里,他们将格式化程序定义为
另外,我们可以看到,他们定义了一个空记录器(不知道我应该怎么称呼它),
所以,这是我的问题,
- python 记录器的格式化程序部分
"()"
做什么? - loggers部分 python logger
""
中的作用是什么?
python-3.x - 如何在表单参数中正确传递服务器 ip 地址?
我有一个用 fastapi 编写的应用程序,并使用 uvicorn 和 supervisor 部署在 ubuntu 服务器上。该命令uvicorn main:app --host 0.0.0.0 --port 8000
启动应用程序。我可以访问该地址的应用程序
该应用程序有一个表单, (GET) 显示在
动作参数是 http://0.0.0.0:8000/image/uploadfile/
但是在表单重定向之后,我没有去页面http://myserver_ip:8000/image/uploadfile/。如果我设置相同的结果action = http://localhost:8000/image/uploadfile/
当然,如果我直接设置动作变量 =http://myserver_ip:8000/image/uploadfile/
一切都开始工作。但是没有办法在本地机器上运行这段代码。如何正确设置重定向?
python - 如何在 FastAPI 中进行多处理
在服务 FastAPI 请求时,我有一个 CPU 密集型任务要对列表的每个元素执行。我想在多个 CPU 内核上进行此处理。
在 FastAPI 中执行此操作的正确方法是什么?我可以使用标准multiprocessing
模块吗?到目前为止,我发现的所有教程/问题仅涵盖了 I/O 绑定任务,例如 Web 请求。
python - 从 dockerfile 中的 uvicorn 命令和从 pythonfile 运行 fastapi 有区别吗?
我正在运行一个快速的 api,当我开发时,我的 app.py 文件中有以下代码
app.py 中的代码:
所以我正要CMD ["python3","app.py"]
在我的 Dockerfile 中运行。
在 fastapi 示例中,他们做了这样的事情:
我想知道这两种方法之间有什么区别,因为我认为它们都可以工作。