Как обновить виртуальную среду Python с помощью `venv`, чтобы использовать более новую версию Python? - PullRequest
2 голосов
/ 25 октября 2019

Я недавно установил Python 3.8.0 вместе с Python 3.7.4.

У меня есть несколько виртуальных сред (созданных с использованием python -m venv <directory>, основанных на v3.7.4. Как мне обновить их для использования v3.8.0?

Нужно ли создавать новую виртуальную среду и переустанавливать зависимости, сценарии и т. Д .?


Примечание. Существуют некоторые существующие вопросы и ответы (, такие какэто ), который имеет дело со старым пакетом / инструментом * 1011. * Я специально спрашиваю о новом встроенном модуле venv, который является стандартным встроенным в Python начиная с версии 3.3 и имеет некоторые отличияот virtualenv.

1 Ответ

2 голосов
/ 25 октября 2019

Я думаю, вам нужен параметр --upgrade.

python -m venv --help
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
            [--upgrade] [--without-pip] [--prompt PROMPT]
            ENV_DIR [ENV_DIR ...]

Creates virtual Python environments in one or more target directories.

positional arguments:
  ENV_DIR               A directory to create the environment in.

optional arguments:
  -h, --help            show this help message and exit
  --system-site-packages
                        Give the virtual environment access to the system
                        site-packages dir.
  --symlinks            Try to use symlinks rather than copies, when symlinks
                        are not the default for the platform.
  --copies              Try to use copies rather than symlinks, even when
                        symlinks are the default for the platform.
  --clear               Delete the contents of the environment directory if it
                        already exists, before environment creation.
  --upgrade             Upgrade the environment directory to use this version
                        of Python, assuming Python has been upgraded in-place.
  --without-pip         Skips installing or upgrading pip in the virtual
                        environment (pip is bootstrapped by default)
  --prompt PROMPT       Provides an alternative prompt prefix for this
                        environment.

Вам нужно запустить его с целевой версией Python, например, в этом случае:

python3.8 -m venv --upgrade <dir_name>

Предполагая, что python3.8 - это имя вашего исполняемого файла python 3.8.0.

...