Я обновил Python на своей системе с Python 3.5 до 3.6, и теперь все мои виртуальные виртуальные машины, созданные в Python 3.5, больше не пригодны для использования. Как я могу получить список пакетов, установленных в Python 3.5 virtualenv, когда у меня установлен только Python 3.6? Мне нужно настроить новый Python 3.6 virtualenv с теми же пакетами, что и в старом Python 3.5 virtualenv.Как обновить виртуальную среду от предыдущей версии Python?
Я знаю, что я могу заглянуть в каталог lib/python3.5/site-packages
и сделать список вручную, но я бы предпочел автоматический способ работы, например. pip freeze
против старой виртуальной среды. Я бы предпочел не переустанавливать старую версию Python.
Я пробовал команду python -m venv --upgrade
, в которой есть текст справки «Обновите каталог окружения, чтобы использовать эту версию Python, предполагая, что Python был обновлен на месте». Однако это фактически не переустанавливает пакеты в virtualenv, а просто создает по существу пустой каталог с именем lib/python3.6/site-packages
. Кроме того, мне пришлось удалить сломанную символическую ссылку bin/python3.5
в venv, чтобы даже запустить python -m venv --upgrade
против старого virtualenv.