我正在尝试在Termux中安装和运行FastAPI。我成功安装了FastAPI。但是当我试图用pip安装"uvicornstandard“安装uvicorn时,我会得到这个错误。我无法在这里粘贴错误,因为Stackoverflow将其标识为垃圾邮件,这里有一个链接
但是,我成功地用pip install uvicorn安装了它。但是当我尝试uvicorn main:app --reload command时,我会得到这个错误
INFO: Will watch for changes in these directories: ['/data/data/com.termux/files/home/project/fapi']
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: Started reloader process [11709] using watchgod
Traceback (most recent call last):
File "/data/data/com.termux/files/home/project/fapi/main.py", line 15, in <module>
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True, access_log=False)
File "/data/data/com.termux/files/home/project/fapi/env/lib/python3.10/site-packages/uvicorn/main.py", line 442, in run
ChangeReload(config, target=server.run, sockets=[sock]).run()
File "/data/data/com.termux/files/home/project/fapi/env/lib/python3.10/site-packages/uvicorn/supervisors/basereload.py", line 43, in run
self.startup()
File "/data/data/com.termux/files/home/project/fapi/env/lib/python3.10/site-packages/uvicorn/supervisors/basereload.py", line 64, in startup
self.process.start()
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/context.py", line 284, in _Popen
return Popen(process_obj)
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
super().__init__(process_obj)
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
self._launch(process_obj)
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 39, in _launch
from . import resource_tracker
File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/resource_tracker.py", line 38, in <module>
import _posixshmem
ModuleNotFoundError: No module named '_posixshmem'如果没有--reload,服务器就会运行,但正如预期的那样,如果代码更改,它不会重新加载。
我也试过用超玉米,不管用。似乎uvicorn和超级玉米不能正确安装在Termux上。有没有人能找到另一种方式运行在Termux与热重装快速hot。
对不起,我的英语不好,我不是说英语的人。同样抱歉,如果我的问题没有遵循指导方针,这是我在这里的第一个问题。
发布于 2022-03-23 07:31:12
四个月后,我又试了一次,成功了。那时,我在Uvicorn github呼吸道上发布了一个问题,虽然没有解决办法,但看起来他们解决了这个问题。顺便说一下,Uvicorn使用的是StatReloader,而不是我的安卓系统中的WatchGodReloader。
https://stackoverflow.com/questions/69965946
复制相似问题