srv-main-1 | Traceback (most recent call last):
srv-main-1 | File "/usr/local/bin/uvicorn", line 8, in
srv-main-1 | sys.exit(main())
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1130, in call
srv-main-1 | return self.main(args, kwargs)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1055, in main
srv-main-1 | rv = self.invoke(ctx)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
srv-main-1 | return ctx.invoke(self.callback, ctx.params)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
srv-main-1 | return __callback(args, **kwargs)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/main.py", line 408, in main
srv-main-1 | run(
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/main.py", line 576, in run
srv-main-1 | server.run()
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/server.py", line 60, in run
srv-main-1 | return asyncio.run(self.serve(sockets=sockets))
srv-main-1 | File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
srv-main-1 | return loop.run_until_complete(main)
srv-main-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
srv-main-1 | return future.result()
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/server.py", line 67, in serve
srv-main-1 | config.load()
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/config.py", line 479, in load
srv-main-1 | self.loaded_app = import_from_string(self.app)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/importer.py", line 24, in import_from_string
srv-main-1 | raise exc from None
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/importer.py", line 21, in import_from_string
srv-main-1 | module = importlib.import_module(module_str)
srv-main-1 | File "/usr/local/lib/python3.10/importlib/init.py", line 126, in import_module
srv-main-1 | return _bootstrap._gcd_import(name[level:], package, level)
srv-main-1 | File "", line 1050, in _gcd_import
srv-main-1 | File "", line 1027, in _find_and_load
srv-main-1 | File "", line 1006, in _find_and_load_unlocked
srv-main-1 | File "", line 688, in _load_unlocked
srv-main-1 | File "", line 883, in exec_module
srv-main-1 | File "", line 241, in _call_with_frames_removed
srv-main-1 | File "/home/app/web/./main.py", line 1, in
srv-main-1 | import routes
srv-main-1 | File "/home/app/web/./routes/init.py", line 1, in
srv-main-1 | from .user import user_router
srv-main-1 | File "/home/app/web/./routes/user.py", line 1, in
srv-main-1 | from .jwt import Token, get_current_user
srv-main-1 | File "/home/app/web/./routes/jwt.py", line 9, in
srv-main-1 | from passlib.context import CryptContext
srv-main-1 | ModuleNotFoundError: No module named 'passlib'
srv-main-1 | Traceback (most recent call last): srv-main-1 | File "/usr/local/bin/uvicorn", line 8, in
srv-main-1 | sys.exit(main())
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1130, in call
srv-main-1 | return self.main(args, kwargs)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1055, in main
srv-main-1 | rv = self.invoke(ctx)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
srv-main-1 | return ctx.invoke(self.callback, ctx.params)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
srv-main-1 | return __callback(args, **kwargs)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/main.py", line 408, in main
srv-main-1 | run(
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/main.py", line 576, in run
srv-main-1 | server.run()
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/server.py", line 60, in run
srv-main-1 | return asyncio.run(self.serve(sockets=sockets))
srv-main-1 | File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
srv-main-1 | return loop.run_until_complete(main)
srv-main-1 | File "/usr/local/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
srv-main-1 | return future.result()
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/server.py", line 67, in serve
srv-main-1 | config.load()
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/config.py", line 479, in load
srv-main-1 | self.loaded_app = import_from_string(self.app)
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/importer.py", line 24, in import_from_string
srv-main-1 | raise exc from None
srv-main-1 | File "/usr/local/lib/python3.10/site-packages/uvicorn/importer.py", line 21, in import_from_string
srv-main-1 | module = importlib.import_module(module_str)
srv-main-1 | File "/usr/local/lib/python3.10/importlib/init.py", line 126, in import_module
srv-main-1 | return _bootstrap._gcd_import(name[level:], package, level)
srv-main-1 | File "", line 1050, in _gcd_import
srv-main-1 | File "", line 1027, in _find_and_load
srv-main-1 | File "", line 1006, in _find_and_load_unlocked
srv-main-1 | File "", line 688, in _load_unlocked
srv-main-1 | File "", line 883, in exec_module
srv-main-1 | File "", line 241, in _call_with_frames_removed
srv-main-1 | File "/home/app/web/./main.py", line 1, in
srv-main-1 | import routes
srv-main-1 | File "/home/app/web/./routes/init.py", line 1, in
srv-main-1 | from .user import user_router
srv-main-1 | File "/home/app/web/./routes/user.py", line 1, in
srv-main-1 | from .jwt import Token, get_current_user
srv-main-1 | File "/home/app/web/./routes/jwt.py", line 9, in
srv-main-1 | from passlib.context import CryptContext
srv-main-1 | ModuleNotFoundError: No module named 'passlib'