vsdudakov / fastadmin

FastAdmin is an easy-to-use Admin Dashboard App for FastAPI/Flask/Django inspired by Django Admin.
https://vsdudakov.github.io/fastadmin/
MIT License
116 stars 14 forks source link

Failed to run FastAPI Framework without flask installed #14

Closed duchengyao closed 1 year ago

duchengyao commented 1 year ago

Blessed to see this excellent and fast updated framework.

code:

from fastapi import FastAPI
from fastadmin import fastapi_app as admin_app

app = FastAPI()

app.mount("/admin", admin_app)

console:

└─$ uvicorn main:app --reload                      
INFO:     Will watch for changes in these directories: ['/home/s1nh/project/fastadmin']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [902379] using WatchFiles
Process SpawnProcess-1:
Traceback (most recent call last):
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/site-packages/uvicorn/server.py", line 59, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/site-packages/uvicorn/server.py", line 66, in serve
    config.load()
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/site-packages/uvicorn/config.py", line 471, in load
    self.loaded_app = import_from_string(self.app)
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/site-packages/uvicorn/importer.py", line 24, in import_from_string
    raise exc from None
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/site-packages/uvicorn/importer.py", line 21, in import_from_string
    module = importlib.import_module(module_str)
  File "/home/s1nh/conda/miniconda3/envs/envp310/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/s1nh/project/znss-admin/fastadmin/main.py", line 2, in <module>
    from fastadmin import fastapi_app as admin_app
  File "/home/s1nh/project/znss-admin/fastadmin/fastadmin/__init__.py", line 3, in <module>
    from fastadmin.api.frameworks.flask.app import app as flask_app
  File "/home/s1nh/project/znss-admin/fastadmin/fastadmin/api/frameworks/flask/app.py", line 4, in <module>
    from flask import Blueprint
ModuleNotFoundError: No module named 'flask'
^CINFO:     Stopping reloader process [902379]
vsdudakov commented 1 year ago

@duchengyao yes I'm on it

Now I'm using extras [tool.poetry.extras] fastapi = ["fastapi"] flask = ["flask"] django = ["django"]

Going to test and update documentation