У меня есть простое приложение FastAPI, и я использовал pip и venv для управления окружающей средой. Когда я запускаю его через установленный пакет uvicorn, мой импорт не отображается. Он работает в терминале Python.
упрощенная структура папок: / venv / src main.py .. requirements.txt ..
requirements.txt
alembic==1.4.3
click==7.1.2
fastapi==0.61.1
FastAPI-SQLAlchemy==0.2.1
pydantic==1.6.1
SQLAlchemy==1.3.20
uvicorn==0.12.2
python-dotenv==0.14.0
В оболочке python после того, как я активирую среду, импортирующую fastapi_sqlalchemy, работает:
Python 3.8.5 (default, Aug 25 2020, 14:19:38)
[Clang 11.0.3 (clang-1103.0.32.62)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import fastapi_sqlalchemy
>>>
Но когда я запустил fastapi через uvicorn, приложение выдаст ошибку при импорте fastapi_sqlalchemy.
uvicorn src.main:app --reload ✔ 16:58:54
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [40567] using statreload
3.8.5 (default, Aug 25 2020, 14:19:38)
[Clang 11.0.3 (clang-1103.0.32.62)]
Process SpawnProcess-1:
Traceback (most recent call last):
(... stacktrace here ...)
File "./src/main.py", line 8, in <module>
import fastapi_sqlalchemy
ModuleNotFoundError: No module named 'fastapi_sqlalchemy'
src / main.py
import uvicorn
from fastapi import FastAPI
from dotenv import load_dotenv
import sys
print(sys.version)
import fastapi_sqlalchemy
Я не знаю, как сделать эту библиотеку видимой в контексте работы приложения uvicorn / fastapi.
src.main:app
- person Yagiz Degirmenci   schedule 25.10.2020