Насколько я могу судить, стандартная библиотека venv
появилась в Python 3.3 и никогда не была перенесена в 2.7 .
venv
может создавать виртуальную среду только для собственной версии интерпретатора, а каталог виртуальной среды нельзя перемещать в другое место или переименовывать. Python 3.foo не может создать виртуальную среду для Python 3.bar . Поэтому лучше всего выбрать требуемый интерпретатор с самого начала.
Поскольку, как показывает вывод whereis python
, у вас, похоже, уже установлено несколько Python интерпретаторов, вы должны иметь возможность выполните что-то вроде следующего:
$ /path/to/python3.3 -m venv /path/to/my/venvs/venv33
$ /path/to/python3.8 -m venv /path/to/my/venvs/venv38
Кажется, есть способ изменить интерпретатор Python, связанный с виртуальной средой (я не проверял это, не уверен, каковы ограничения):
$ /path/to/python3.8 -m venv --upgrade /path/to/my/venvs/venv33
В качестве альтернативы используйте virtualenv , который, кажется, предлагает немного большую гибкость, но, вероятно, менее эффективен (следующий основной выпуск, virtualenv 20 , хотя и принесет много улучшений).