我正在应用 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”的模块
根据您的堆栈跟踪,您的代码似乎没有从虚拟环境运行。如果是的话,我希望在
"/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py"
中看到虚拟环境的名称。在运行代码之前,我会仔细检查并确保您的虚拟环境已激活。您可能需要将 Python 解释器更改为在虚拟环境中创建的解释器。