Cette question est autant une question sur mon problème particulier (que j'ai en quelque sorte trouvé une solution de contournement, donc ce n'est pas un problème brûlant) que sur le processus général que j'utilise.
J'ai Python 2.7.9 installé localement sur mon Ubuntu 14.04, et j'ai un virtualenv dans lequel je l'exécute. Tout est très séparé du Python "système", dont je ne suis pas émouvant.
Tout a commencé assez bien, avec mon Python installé et toutes les bibliothèques en cours d'exécution. Par exemple, j'ai également pip
installé numpy 1.10.1, il a compilé pendant un certain temps, puis cela a fonctionné ça va.
Le problème est que pour des raisons indépendantes de ma volonté, j'ai dû reconstruire le python avec ucs4
Activé, c'est-à-dire que je l'ai installé en utilisant
./configure --enable-unicode=ucs4
Après cela, j'ai également désinstallé toutes les bibliothèques et les ai réinstallées à l'aide de pip. Cependant, il semble que la bibliothèque numpy n'ait pas été correctement désinstallée car elle s'est installée instantanément cette fois, et lorsque j'ai essayé d'importer numpy
dans mon nouveau Python, j'ai reçu un message d'erreur indiquant que numpy a été compilé avec le ucs2
- Python activé.
Cette hypothèse est assez solide, puisque j'ai alors essayé de pip install numpy==1.9.3
. L'installation a de nouveau pris beaucoup de temps et a produit une version numpy qui fonctionne sur le nouveau Python activé ucs4
.
Comment puis-je obtenir le processus de désinstallation de numpy pour supprimer toutes les traces de l'ancien numpy?
Modifier :
J'ai également essayé de supprimer manuellement numpy en le supprimant de mon répertoire virtualenv site-packages
. Après la suppression, import numpy
A renvoyé un ImportError
comme prévu. Je l'ai ensuite réinstallé (pip install numpy
) Et il est revenu avec la même erreur liée à ucs2
.
Édition 2 :
Le sys.path
Complet vu par mon virtualenv Python est
['',
'/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']
De plus, il peut être important de mentionner que l'installation de /usr/local/lib/python2.7.9/
De python ne fait pas avoir numpy installé.
Vous pouvez utiliser --no-binary
et --ignore-installed
pour reconstruire un package comme suit
pip install --user --force-reinstall --ignore-installed --no-binary :all: PackageName