venv run activate activar python pip virtualenv virtualenvwrapper python-wheel

python - run - Controla la versión pip en virtualenv



virtualenv ubuntu (3)

¿Cómo controlo la versión de pip que se usa en un virtualenv recién creado? Creo que he erradicado todas las otras versiones de pip del sistema operativo, pero aún así, mkvirtualenv obtiene un pip-1.5 de alguna parte. Quiero que use pip 1.4.1 en el virtualenv.

$ which pip /usr/local/bin/pip $ pip --version pip 1.4.1 from /usr/local/lib/python2.7/dist-packages/pip-1.4.1-py2.7.egg (python 2.7) $ pip install virtualenv virtualenvwrapper <snip...> Successfully installed virtualenv virtualenvwrapper Cleaning up... $ source ~/.bashrc $ mkvirtualenv spam New python executable in spam/bin/python Installing setuptools, pip...done. (spam)$ which pip /home/wim/.virtualenvs/spam/bin/pip (spam)$ pip --version pip 1.5 from /home/wim/.virtualenvs/spam/local/lib/python2.7/site-packages (python 2.7)


Desde la lectura de la fuente de virtualenv, parece que pip se instala desde un archivo tar de origen incluido con virtualenv. En virtualenv 1.10.1, es pip-1.4.1.tar.gz en el directorio site-packages/virtualenv_support (obtiene setuptools del mismo lugar). Usted podría reemplazar ese archivo para controlar la versión; virtualenv.py, al menos la versión que tengo, no importa qué versión de pip esté ahí:

if not no_pip: install_sdist(''Pip'', ''pip-*.tar.gz'', py_executable, search_dirs)

También puede pasar la --no-pip y luego instalar la versión que desea de la fuente.

En virtualenv 1.11, busca un archivo de rueda (por ejemplo, pip-*.whl ) en lugar de tar.gz , pero aparte de eso, actúa de la misma manera (gracias a @wim por la actualización).


Es bastante fácil reemplazar el pip que se instala en su entorno virtual. Dentro de su entorno virtual activo, simplemente ejecute el siguiente comando:

pip install pip==1.4.1


Para mí, acabo de actualizar pip / virtualenv / virtualenvwrapper en mi máquina (no dentro de virtualenv). Posteriormente los virtualenvs creados tenían la versión actualizada.

deactivate pip install --upgrade pip virtualenv virtualenvwrapper mkvirtualenv ...