На винде запускать - это бред.
Если на VPS планируете держать только бота, то лучше оформить его в виде пакета. Настройте CI\CD и он сам будет развёртываться на вашем сервере прикаждом релизе в системе контроля версий.
Лично я разворачиваю бота в докере, потому что боту обычно нужна БД, какие-то приложения рядом... Всё установть и настроить - это отдельная история и спустя пару лет бесперебойной работы вам или вашему заказчику, возможно, придётся переехать на другой хостинг или переустановить и настроить все заново, а из памяти всё уже выветрилось. Спасает описание всей конфигурации в виде docker-compose.
Тогда переезд на ноый сервер вообще тривиален. Также легко поднять тестовый клон бота на локальной машине для отладки и работать он будет в той же среде и с той же конфигурацией, что и на сервере.
Особенно это удобно, если приходится приментяь какие-то конвертеры графики или звука.
Если надо поднять дв абота на разных фреймворках или с разными зависимостями, то докеризация тоже спасает от необходимости возиться с venv. А зависимости бывают еще и у сторонних внешних утлит.