Во-первых, виртуальное окружение нужно для разработчика, а не для пользователя. Если у вашей программы есть зависимости и вы не собираетесь всю жизнь разрабатывать только её одну на этом компьютере, то виртуальное окружение нужно. Во-вторых, при упаковке программы в исполняемый файл, в него будет запихан и интерпретатор и все необходимые модули.