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 ...