在 Termux 中安装 Uvicorn 时出现问题,Android
Problem installing Uvicorn in Termux, Android
我正在尝试在 Termux 中安装 运行 FastAPI。我成功安装了 FastAPI。
但是当我尝试使用 pip install "uvicorn[standard]" 安装 uvicorn 时,我收到了这个错误。我无法在此处粘贴错误,因为 Whosebug 将其识别为垃圾邮件,here is a link
不过,我用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
服务器 运行s,但正如预期的那样,如果代码更改,它不会重新加载。
我用 hypercorn 试过同样的方法,但没用。似乎 uvicorn 和 hypercorn 无法在 Termux 中正确安装。谁能找到另一种在 Termux 中通过热重载 运行ning fastapi 的方法。
抱歉我的英语不好,我的母语不是英语。如果我的问题不符合准则,也很抱歉,这是我的第一个问题。
四个月后,我再次尝试,成功了。
那时,我在 Uvicorn github 呼吸系统中发布了一个问题,虽然没有解决方案,但看起来他们已经解决了。
顺便说一句,Uvicorn 在我的 android.
中使用 StatReloader 而不是 WatchGodReloader
我正在尝试在 Termux 中安装 运行 FastAPI。我成功安装了 FastAPI。 但是当我尝试使用 pip install "uvicorn[standard]" 安装 uvicorn 时,我收到了这个错误。我无法在此处粘贴错误,因为 Whosebug 将其识别为垃圾邮件,here is a link
不过,我用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
服务器 运行s,但正如预期的那样,如果代码更改,它不会重新加载。
我用 hypercorn 试过同样的方法,但没用。似乎 uvicorn 和 hypercorn 无法在 Termux 中正确安装。谁能找到另一种在 Termux 中通过热重载 运行ning fastapi 的方法。
抱歉我的英语不好,我的母语不是英语。如果我的问题不符合准则,也很抱歉,这是我的第一个问题。
四个月后,我再次尝试,成功了。 那时,我在 Uvicorn github 呼吸系统中发布了一个问题,虽然没有解决方案,但看起来他们已经解决了。 顺便说一句,Uvicorn 在我的 android.
中使用 StatReloader 而不是 WatchGodReloader