Создание virtualenv python 3 требует дополнительного аргумента в команде. Без нее виртуальное окружение будет создано для второй версии Python. Если на сервере одновременно доступны вторая и третья.
virtualenv python 3, создание окружения
В общем создание виртуального окружения выполняется одной командой
virtualenv tests
Однако, если в системе есть Python2 (в современном дистрибутиве Ubuntu 18 эта версия установлена по умолчанию) — будет использован он. Что не всегда является целью.
Какую именно версию использовать для создания окружения можно указать непосредственно:
virtualenv -p python3 tests
В остальном работа с виртуальным окружением для Python 3 на серверах, на которых есть и Python2, ничем не отличается.
Без виртуального окружения не обойтись если на сервере требуется запускать несколько проектов — например, Django или Flask.