Можно ли изящно обновить существующий virtualenv?
У меня есть virtualenv, созданный для Python 2.5 и хочу "обновить" его до Python 2.6.
Вот как он был изначально настроен:
virtualenv --no-site-packages -p python2.5 myenv
Теперь я запускаю virtualenv в том же каталоге для обновления:
virtualenv --no-site-packages -p python2.6 myenv
...
Not overwriting existing python script myenv/bin/python (you must use myenv/bin/python2.6)
...
Overwriting myenv/bin/activate with new content
По умолчанию python все равно 2.5, хотя я также могу указать 2.6. Есть ли способ удалить 2.5 целиком и вместо того, чтобы вместо "bin/python" указать 2.6?
Ответы
Ответ 1
Вы можете использовать Python 2.6 virtualenv для "revirtual" существующего каталога. Вам придется переустановить все модули, которые вы установили. У меня часто есть виртуальный каталог для разработки модуля, а virtualenv - тот же каталог со многими версиями Python, и он работает отлично.:)
Ответ 2
Вы должны создать новый virtualenv
с помощью python2.6
, а затем, после активации нового env, используйте его python2.6
и его easy_install
для установки новых версий любых пакетов сайтов, которые вам нужны. Помните, что имя пути к virtualenv
жестко привязано к различным файлам в среде, поэтому, когда вы готовы переключиться на него, измените сценарии запуска и другие, чтобы ссылаться на новый путь virualenv
или быть очень тщательно скопируйте его в старый каталог и измените имена путей внутри него.
Ответ 3
Установите второй Python на CentOS
- скачать python
-
установить для локального локального
configure --prefix=/opt/virtualenv/python
make && make install
-
создать виртуальный env с помощью нового python
virtualenv /opt/virtualenv --python=/opt/python276/bin/python
Примечание: при необходимости это можно сделать с другим пользователем
chown pyuser -R /opt/virtualenv
su - pyuser
source /opt/virtualenv/bin/activate
python -v
-
Создание виртуального env:
virtualenv /opt/virtualenv
su - infograficos
source bin/activate
-
Установить pip с помощью python 2.7 (внутри virtualenv)
easy_install pip
Ответ 4
Если вы используете OS X, попробуйте this, если вы хотите обновить Python до версии с незначительным увеличением (например, с 2.7.6 до 2.7.8), в то время как поддерживая работу сторонних библиотек.
Он работает для меня в 5 различных виртуальных средах с установленным Django.
Ответ 5
В Python 3. 3+ venv поддерживает флаг --upgrade
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
Использование:
python -m venv --upgrade YOUR_VENV_DIRECTORY
Я только что без проблем обновил свой venv с Python 3.7.x до 3.8 в нескольких проектах.