Obligando a `pip` a recomstackr un paquete previamente instalado (numpy) después de cambiar a un binario Python diferente

Esta pregunta es tanto una pregunta sobre mi problema particular (que en cierto modo encontré una solución alternativa, por lo que no es un problema candente), sino sobre el proceso general que estoy usando.


Configuración (la parte que funciona):

Tengo Python 2.7.9 instalado localmente en mi Ubuntu 14.04, y tengo un virtualenv en el que lo estoy ejecutando. Todo está muy separado del “sistema” de Python, que no estoy tocando.


La parte que hice:

Todo comenzó bastante bien, con mi Python instalado y todas las bibliotecas en ejecución. Por ejemplo, también instalé numpy 1.10.1, compilé durante un tiempo y luego funcionó bien.

El problema:

El problema es que por razones fuera de mi control, tuve que reconstruir el python con ucs4 habilitado, es decir, lo instalé usando

 ./configure --enable-unicode=ucs4 

Después de hacer esto, también desinstalé todas las bibliotecas y las reinstalé usando pip. Sin embargo, parece que la biblioteca numpy no se desinstaló correctamente porque se instaló instantáneamente esta vez, y cuando intenté importar numpy a mi nuevo Python, recibí un mensaje de error que indica que el numpy se compiló con el Python ucs2 .

Esta hipótesis es bastante sólida, ya que intenté pip install numpy==1.9.3 . La instalación una vez más tomó mucho tiempo, y produjo una versión numpy que funciona en el nuevo ucs4 habilitado para Python .

Ahora, mi pregunta:

¿Cómo puedo obtener el proceso de desinstalación de números para eliminar todos los rastros del número anterior?


Editar :

También intenté eliminar manualmente numpy eliminándolo de mi directorio virtualenv site-packages . Después de eliminar, el número de import numpy devolvió un ImportError como se esperaba. Luego lo reinstalé ( pip install numpy ) y volví con el mismo error relacionado con ucs2 .

Edición 2 :

El sys.path completo visto por mi virtualenv Python es

 ['', '/home/jkralj/.virtualenvs/work/lib/python27.zip', '/home/jkralj/.virtualenvs/work/lib/python2.7', '/home/jkralj/.virtualenvs/work/lib/python2.7/plat-linux2', '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-tk', '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-old', '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7.9/lib/python2.7', '/usr/local/lib/python2.7.9/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7.9/lib/python2.7/lib-tk', '/home/jkralj/.virtualenvs/work/lib/python2.7/site-packages'] 

Además, podría ser importante mencionar que la instalación /usr/local/lib/python2.7.9/ de python no tiene el número instalado.

Puede usar --no-binary y --ignore-installed para reconstruir un paquete de la siguiente manera

 pip install --user --force-reinstall --ignore-installed --no-binary :all: PackageName 

El problema se resuelve al desinstalar pippy numpy (o cualquier otro paquete problemático) y luego ejecutarlo

 pip install numpy --no-cache-dir 

para evitar que pip simplemente tome la instalación en caché y la repita.