¿Cómo forzar a virtualenv a instalar las últimas herramientas de configuración y pip de pypi?

¿Es posible forzar a virtualenv a usar las últimas herramientas de configuración y pip disponibles desde pypi? Esencialmente, estoy buscando lo opuesto a la --never-download .

Actualmente, cuando hago un nuevo virtualenv, usa las versiones locales (antiguas) que vienen empaquetadas con virtualenv.

 $ v.mk testvenv New python executable in testvenv/bin/python Installing setuptools............done. Installing pip...............done. $ pip show setuptools --- Name: setuptools Version: 0.6c11 Location: /Users/cwilson/.virtualenvs/testvenv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg Requires: $ pip search setuptools [...] setuptools - Easily download, build, install, upgrade, and uninstall Python packages INSTALLED: 0.6c11 LATEST: 0.7.2 [...] 

No es compatible por razones de seguridad.

El uso de virtualenv.py como un script aislado (es decir, sin un directorio asociado virtualenv_support) ya no se admite por razones de seguridad y fallará con un error. Junto con esto, –never-download ahora siempre se fija en True, y solo se mantiene a corto plazo para compatibilidad con versiones anteriores (Pull # 412).

No puedo usar la --extra-search-dir porque actualmente no funciona https://github.com/pypa/virtualenv/issues/327

¿Parece que la única opción es simplemente esperar a que los mantenedores de virtualenv actualicen los paquetes empaquetados?

Puede actualizar pip después de instalar su virtualenv usando pip install -U pip .

Estoy seguro de que podrías escribir un bootstrap-script para automatizar este paso.

Necesitaba la última biblioteca de herramientas de configuración, y el --extra-search-dir no funcionaba para mí (aunque aparentemente se ha corregido).

Sin embargo, hacer un virtualenv sin setuptools y luego instalarlo directamente desde PyPi funcionó muy bien. Por ejemplo, para configurar un virtualenv llamado test :

 virtualenv --no-setuptools test source test/bin/activate wget https://bootstrap.pypa.io/ez_setup.py -O - | python easy_install pip 

Probando con

 python -c 'import setuptools; print setuptools.__version__' 

Muestra la versión correcta.

Me encontré con el mismo problema y lo solucioné actualizando setuptools .

Si env es tu env virtual, ejecuta lo siguiente:

$ env/bin/pip install --upgrade setuptools

Sobre la base de la excelente respuesta de Ematsen, hice un script de bash que funciona con virtualenvwrapper

 #!/bin/bash source `which virtualenvwrapper.sh` mkvirtualenv --no-setuptools $1 wget https://bootstrap.pypa.io/ez_setup.py -O - | python rm setuptools-*.zip easy_install pip # for python version < 2.7.9 # https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings pip install urllib3[secure]