web-dev-qa-db-fra.com

Impossible de désinstaller 'numpy'

J'ai essayé d'installer astropy et à la fin de l'installation, je reçois ce message:

Impossible de désinstaller 'numpy'. Il s'agit d'un projet installé distutils et nous ne pouvons donc pas déterminer avec précision quels fichiers lui appartiennent, ce qui ne conduirait qu'à une désinstallation partielle.

J'ai essayé: pip uninstall numpy puis je reçois le même message. J'ai Python 2.7.10 dans une version macOS High Sierra 13.10.5

(Je suis très nouveau chez Python, et j'ai cherché des réponses avant de demander mais rien n'a fonctionné).

7

Cela ne répond pas directement à votre question, mais c'est parce que vous posez la mauvaise question.

Astropy nécessite Python 3.5 ou 3.6 . Essayer de le faire fonctionner avec Apple pré-installé Python 2.7 est une perte de temps). Vous pourriez obtenir une ancienne version fonctionnant de cette façon, mais pas en utilisant les instructions d'installation sur astropy.org, et elle ne sera pas prise en charge même si vous le faites.


La solution simple consiste simplement à installer la dernière version d'Anaconda 5.x avec Python 3.6 , car elle fournie avec Astropy intégré .


La solution presque aussi simple consiste à installer Python 3.6 à partir d'un programme d'installation binaire python.org ou de Homebrew, puis à utiliser pip3 ou mieux, python3 -m pip pour tout installer, comme expliqué sur la page d'installation d'Astropy .


Quoi qu'il en soit, avant de faire quoi que ce soit d'autre, vous voulez revenir à une table rase. En particulier, vous ne voulez pas que pip, ni aucun autre script, attaché à Python 2.7 d'Apple; ils ne feront que créer de la confusion. En supposant que vous ne pouvez pas réinstaller macOS à partir de zéro, la meilleure façon de procéder est:

  • Regarder dans /Library/Python/2.7/site-packages et supprimez tout, sauf README et Extras.pth.
  • Regarder dans /usr/local/bin pour les liens symboliques vers quoi que ce soit dans ce site-packages. (Si vous ne savez pas grand-chose sur l'utilisation d'Unix, essayez cette commande: ls -l /usr/local/bin | grep 2.7.) Vous aurez probablement pip et pip2.7 ici, et probablement rien d'autre. Mais quoi que vous ayez ici, supprimez-le.

Maintenant, lorsque vous installez Python 3.6, la seule chose nommée pip n'importe où sera que Python 3.6's pip . Vous souhaitez toujours utiliser pip3 ou python3 -m pip, mais si vous bousillez et tapez pip par accident, cela ne cassera rien.


En outre, vous devriez sérieusement envisager d'utiliser un environnement virtuel. Voir le Python Packaging Authority Guide de l'utilisateur (ou les documents Anaconda, si vous êtes allé de cette façon) pour plus d'informations à ce sujet.

7
abarnert

Une solution simple que j'ai trouvée:

Sudo -H pip install astropy --ignore-installed numpy
4
Wuzhou Zhang

J'ai également eu ce problème et je n'ai pas pu le contourner d'une manière propre, mais voici ce que j'ai fait:

Dans le dossier Lib, recherchez "numpy" pour un fichier Egg_info (par exemple numpy-1.11.0.dev0_2329eae.Egg-info).

Dans mon cas, c'est ce que Pip cherchait à déterminer si une version actuelle existe déjà. Je l'ai supprimé, puis j'ai couru normalement

pip install numpy

et installé la dernière version.

Je ne le recommande pas parce que je ne comprends pas ce qu'il fait sous le capot et qu'il ne désinstalle pas correctement l'ancienne version, ce qui pourrait être une recette pour des problèmes en fin de compte, mais si vous êtes désespéré comme je l'étais alors peut-être c'est une solution pour vous.

0
InterestingGuy