快速 API:没有名为“sqlalchemy”的模块

问题描述 投票:0回答:1

我正在应用 FAST API 来开发 API 集合。在 VS code 中,我添加了虚拟环境和 Python 解释器路径。 Sqlalchemy 依赖项已安装在 venv 中,但 Python 仍然无法找到该包。感谢您的帮助。


    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import sessionmaker
    
    
    SQLALCHEMY_DATABASE_URL = 'url'
    
    engine = create_engine(SQLALCHEMY_DATABASE_URL)
    
    SessionLocal = sessionmaker(autocommit = False,autoflush=False,bind= engine )
    
    
    Base = declarative_base()


    错误 : 
    回溯(最近一次调用最后一次):
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/multiprocessing/process.py”,第 314 行,在 _bootstrap 中
        自我运行()
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/multiprocessing/process.py”,第 108 行,运行中
        self._target(*self._args, **self._kwargs)
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/_subprocess.py”,第 80 行,在 subprocess_started 中
        目标(套接字=套接字)
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/server.py”,第 65 行,运行中
        返回 asyncio.run(self.serve(sockets=sockets))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/runners.py”,第 194 行,运行中
        返回 runner.run(main)
               ^^^^^^^^^^^^^^^^^
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/runners.py”,第 118 行,运行中
        返回 self._loop.run_until_complete(任务)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      文件“uvloop/loop.pyx”,第 1517 行,位于 uvloop.loop.Loop.run_until_complete 中
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/server.py”,第 69 行,在服务中
        等待 self._serve(socket)
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/server.py”,第 76 行,位于 _serve 中
        配置.load()
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/config.py”,第 434 行,加载中
        self.loaded_app = import_from_string(self.app)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/importer.py”,第 22 行,在 import_from_string 中
        从 None 提高 exc
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/uvicorn/importer.py”,第 19 行,在 import_from_string 中
        模块 = importlib.import_module(module_str)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      文件“/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py”,第 90 行,在 import_module 中
        return _bootstrap._gcd_import(名称[级别:],包,级别)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^
      文件“”,第 1387 行,位于 _gcd_import 中
      文件“”,第 1360 行,位于 _find_and_load 中
      文件“”,第 1331 行,在 _find_and_load_unlocked 中
      文件“”,第 935 行,在 _load_unlocked 中
      文件“”,第 995 行,在 exec_module 中
      文件“”,第 488 行,位于 _call_with_frames_removed 中
      文件“/Users/anoop/testpython/main.py”,第 7 行,位于 
        从数据库导入基础
      文件“/Users/anoop/testpython/database.py”,第 1 行,位于 
        从 sqlalchemy 导入 create_engine
    ModuleNotFoundError:没有名为“sqlalchemy”的模块

python python-3.x sqlalchemy fastapi
1个回答
0
投票

根据您的堆栈跟踪,您的代码似乎没有从虚拟环境运行。如果是的话,我希望在

"/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py"
中看到虚拟环境的名称。在运行代码之前,我会仔细检查并确保您的虚拟环境已激活。您可能需要将 Python 解释器更改为在虚拟环境中创建的解释器。

参考文献

© www.soinside.com 2019 - 2024. All rights reserved.