Можно ли изящно обновить существующий 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?

6 ответов

Решение

Вы можете использовать Python 2.6 virtualenv для "ревизии" существующего каталога. Вы должны будете переустановить все модули, которые вы установили, хотя. У меня часто есть виртуальный каталог для разработки модуля, и virtualenv один и тот же каталог со многими версиями Python, и он работает просто отлично.:)

В 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 в нескольких проектах без каких-либо проблем.

Вы можете просто сделать это, перейдя в файл venv и изменив путь к python и его версию из pyvenv.cfg следующим образом:введите описание изображения здесь

Вы должны создать новый virtualenv с помощью python2.6 а затем, после активации нового env, используйте его python2.6 И его easy_install установить новые версии любых пакетов сайта, которые вам нужны. Остерегайтесь того, что путь к virtualenv встроен в различные файлы среды, поэтому, когда вы будете готовы переключиться на него, измените сценарии запуска и т. д., чтобы обратиться к новым virualenv путь или будьте очень осторожны при копировании его в старый каталог и изменении имен путей внутри него.

Установите второй Python на CentOS

  1. скачать питон
  2. установить для сравнения местных

    configure --prefix=/opt/virtualenv/python 
    make && make install
    
  3. создать виртуальную среду, используя новый Python

    virtualenv /opt/virtualenv --python=/opt/python276/bin/python
    

    примечание: при необходимости это может быть сделано другим пользователем

    chown pyuser -R /opt/virtualenv
    su - pyuser
    source /opt/virtualenv/bin/activate
    python -v
    
  4. Создать виртуальную среду:

    virtualenv /opt/virtualenv
    su - infograficos
    source bin/activate
    
  5. Установите пип с Python 2.7 (внутри virtualenv)

    easy_install pip 
    

Если вы используете OS X, попробуйте это, если вы хотите обновить Python до версии с небольшим увеличением (например, с 2.7.6 до 2.7.8), сохраняя при этом работу сторонних библиотек.

Он работает для меня в 5 различных виртуальных средах с установленным Django.

Другие вопросы по тегам