Отличия в способе запуска
Есть ли отличия в способе запуска:
uvicorn main:app
или
python main.py
При условии, что в main.py указано:
if __name__ == "__main__":
uvicorn.run(app.app, host='0.0.0.0', port='8080')
Следует уточнить, что я запускаю приложение на fastAPI
Ответы (1 шт):
Можно обратиться к исходному коду uvicorn.
Консольная команда uvicorn берется из настроек в setup.py, секции entry_points
Смотрим: https://github.com/encode/uvicorn/blob/master/setup.py#L84
uvicorn=uvicorn.main:main - это значит, что запускается функция main из модуля uvicorn.main.
Давайте посмотрим, что это за функция?
https://github.com/encode/uvicorn/blob/master/uvicorn/main.py#L272
Она правит sys.path и с невероятной кучей аргументов, которые передаются через опции командной строки, запускает функцию run.
Отсюда можно решить, если ничего не перепутал, что разницы никакой.