Python 3.x MacOS:对任何数据库运行aiosqlite都有问题
我有一些错误: ModuleNotFoundError:没有名为“aiosqlite”的模块 Python 3.9=====FastAPI=====SQLite=====Databases=====aiosqlite FastAPI上的测试项目(包括示例:) 服务器不会在Mac OS上启动(任何编辑器:vim、VS代码、“Pycharm”等) 在Linux上,一切正常 但在MacOS上,我无法运行任何数据库(例如SQLITE) 错误如下:没有看到“aiosqlite”!所有的需求都是正确的(Python3.9.5、venv、pip、aiosqlite、sqlalchemy、数据库等——所有这些都已更新) 附言 我使用了虚拟环境venv,并通过以下几种方式使用uvicorn运行我的服务器:Python 3.x MacOS:对任何数据库运行aiosqlite都有问题,python-3.x,database,macos,sqlite,fastapi,Python 3.x,Database,Macos,Sqlite,Fastapi,我有一些错误: ModuleNotFoundError:没有名为“aiosqlite”的模块 Python 3.9=====FastAPI=====SQLite=====Databases=====aiosqlite FastAPI上的测试项目(包括示例:) 服务器不会在Mac OS上启动(任何编辑器:vim、VS代码、“Pycharm”等) 在Linux上,一切正常 但在MacOS上,我无法运行任何数据库(例如SQLITE) 错误如下:没有看到“aiosqlite”!所有的需求都是正确的
你是如何运行你的应用程序的?在已安装的依赖项列表中,
pip freeze
显示了什么?如果您只是运行python解释器并尝试导入aiosqlite
,会怎么样?我在新版本的帖子中创建了一个答案。非常感谢。
from typing import List
import databases
import sqlalchemy
from fastapi import FastAPI
from pydantic import BaseModel
DATABASE_URL = "sqlite:///./test.db"
database = databases.Database(DATABASE_URL)
metadata = sqlalchemy.MetaData()
notes = sqlalchemy.Table(
"notes",
metadata,
sqlalchemy.Column("id", sqlalchemy.Integer, primary_key=True),
sqlalchemy.Column("text", sqlalchemy.String),
sqlalchemy.Column("completed", sqlalchemy.Boolean),
)
app = FastAPI()
@app.post('/')
async def root():
return {"message": "Good"}
$ . ./env/bin/activate
$ (env) ➜ testDB2 pip list
Package Version
----------------- --------
aiosqlite 0.17.0
databases 0.4.3
fastapi 0.63.0
pip 21.1.1
pydantic 1.8.1
setuptools 56.0.0
SQLAlchemy 1.3.24
starlette 0.13.6
typing-extensions 3.10.0.0
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)