Problème avec numpy

Bonjour,
Je reçois ce message quand je lance pandas:
« ImportError: Unable to import required dependencies:
numpy: Error importing numpy: you should not try to import numpy from its source directory; please exit the numpy source tree, and relaunch your python interpreter from there. »
Mais je ne comprends pas ce que cela veut dire…
J’ai réinstallé numpy : sudo apt-get install python3-numpy
Il me dit: python3-numpy est déjà la version la plus récente (1:1.19.5-1)
Mais il me remet le message d’erreur sibyllin.
Quelqu’un peut-il m’aider ?

Bonjour,

Il semblerait qu’il y ait une incompatibilité entre la version de Python et de numpy. Peut être que plusieurs versions coexistent sur le système ?

Comment à été installé pandas et numpy ? Cette procédure est-elle compatible avec la version de Python actuelle de l’OS ?

Essayez dans une console de lancer python puis d’importer numpy pour voir si ce message d’erreur persiste.

A+

Merci beaucoup de votre aide,
Je suis un débutant. J’ai installé pandas et numpy par la commande pip install.
« Essayez dans une console de lancer python puis d’importer numpy »: je ne sais pas faire ce que vous proposez… pouvez vous m’indiquer ce que je dois faire ?
merci

Plus précisément:
j’ai tapé « python & » dans le terminal, il trouve bien ma version 3.9.2 de python
mais ensuite j’ai tapé « import numpy » : il me répond « bash: numpy : commande introuvable »…

hello,

essaye sans le & derrière python … en fait le & exécute le programme (python) et libère la console d ou le message d’erreur qui ne correspond pas a python mais au langage de commande du terminal ( bash )

Merci pour ta réponse.
J’ai donc tapé python puis numpy dans le terminal et ça donne ça:

pi@raspberrypi:~ $ python
Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type « help », « copyright », « credits » or « license » for more information.

import numpy
Traceback (most recent call last):
File « /home/pi/.local/lib/python3.9/site-packages/numpy/core/init.py », line 24, in
from . import multiarray
File « /home/pi/.local/lib/python3.9/site-packages/numpy/core/multiarray.py », line 10, in
from . import overrides
File « /home/pi/.local/lib/python3.9/site-packages/numpy/core/overrides.py », line 8, in
from numpy.core._multiarray_umath import (
ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File « /home/pi/.local/lib/python3.9/site-packages/numpy/init.py », line 130, in
from numpy.config import show as show_config
File « /home/pi/.local/lib/python3.9/site-packages/numpy/config.py », line 4, in
from numpy.core._multiarray_umath import (
File « /home/pi/.local/lib/python3.9/site-packages/numpy/core/init.py », line 50, in
raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  • The Python version is: Python3.9 from « /usr/bin/python »
  • The NumPy version is: « 1.26.2 »

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: libopenblas.so.0: cannot open shared object file: No such file or directory

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File «  », line 1, in
File « /home/pi/.local/lib/python3.9/site-packages/numpy/init.py », line 135, in
raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python interpreter from there.

Je suis allé sur le lien proposé ( Troubleshooting — NumPy v2.0.dev0 Manual
).
J’ai fait ce qu’il propose à la rubrique raspberry.
Je désinstalle numpy version 1.26.2
Je tape « sudo apt install python3-numpy »
Il me répond que j’ai déjà numpy dans la version la plus récente : 1:1.19.5-1

Je n’y comprend rien…

je ne suis pas un spécialiste de python mais visiblement il y a un problème de conflit entre plusieurs version de numpy installées sur ton système

je commencerai par un
sudo apt update
sudo apt upgrade
puis
sudo apt remove python3-numpy
puis on liste ce que pip a installer:
pip list|grep numpy

on desinstalle les versions de numpy listées
pip uninstall *<packagename>*

puis reinstalle le numpy de la distribution
sudo apt install python3-numpy

Je suis tes conseils :
En arrivant sur la désinstallation de numpy je tombe là dessus et ne veut pas le désinstaller !
"pip uninstall numpy
Found existing installation: numpy 1.26.2
Uninstalling numpy-1.26.2:
Would remove:
/usr/local/bin/f2py
/usr/local/lib/python3.9/dist-packages/numpy-1.26.2.dist-info/*
/usr/local/lib/python3.9/dist-packages/numpy/*
Proceed (y/n)? y
ERROR: Exception:
Traceback (most recent call last):
File « /usr/lib/python3.9/shutil.py », line 806, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] Permission non accordée: ‹ /usr/local/bin/f2py › → ‹ /tmp/pip-uninstall-2e8zx7jq/f2py ›

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File « /usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py », line 223, in _main
status = self.run(options, args)
File « /usr/lib/python3/dist-packages/pip/_internal/commands/uninstall.py », line 89, in run
uninstall_pathset = req.uninstall(
File « /usr/lib/python3/dist-packages/pip/_internal/req/req_install.py », line 694, in uninstall
uninstalled_pathset.remove(auto_confirm, verbose)
File « /usr/lib/python3/dist-packages/pip/_internal/req/req_uninstall.py », line 403, in remove
moved.stash(path)
File « /usr/lib/python3/dist-packages/pip/_internal/req/req_uninstall.py », line 292, in stash
renames(path, new_path)
File « /usr/lib/python3/dist-packages/pip/_internal/utils/misc.py », line 355, in renames
shutil.move(old, new)
File « /usr/lib/python3.9/shutil.py », line 821, in move
os.unlink(src)
PermissionError: [Errno 13] Permission non accordée: ‹ /usr/local/bin/f2py ›"

avec les droit root ( administrateur) ça devrait fonctionner :
sudo pip uninstall numpy

ça a marché !
Encore merci pour votre aide.
Du coup je lance un fichier python et il me renvoie :

"ImportError: this version of pandas is incompatible with numpy < 1.22.4
your numpy version is 1.19.5.
Please upgrade numpy to >= 1.22.4 to use this pandas version

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File « /home/pi/Desktop/panda3.py », line 4, in
import pandas as pd
File « /usr/local/lib/python3.9/dist-packages/pandas/init.py », line 28, in
raise ImportError(
ImportError: C extension: None not built. If you want to import pandas from the source directory, you may need to run ‹ python setup.py build_ext › to build the C extensions first."

Il y a 2 choses que je ne comprends pas:

  • « ImportError: this version of pandas is incompatible with numpy < 1.22.4
    your numpy version is 1.19.5.
    Please upgrade numpy to >= 1.22.4 to use this pandas version »
    il me demande de mettre à niveau numpy alors que j’ai déjà fait sudo apt update et sudo apt upgrade
  • et " ImportError : Extension C : Aucune non construite. Si vous souhaitez importer des pandas depuis le répertoire source, vous devrez peut-être exécuter ‹ python setup.py build_ext › pour créer d’abord les extensions C."
    En parcourant le net j’ai effectivement lu que numpy était en partie écrit en C mais je n’ai aucune idée de comment créer les extentions C…

a priori tu dois avoir le même soucis à savoir une version de pandas chargée par pip à la place de la version trouvée dans les paquets debian.
donc même punition même motif:
lister les modules pandas avec pip list et le grep qui va bien
supprimer ces modules
réinstaller le paquet de la distribution:
sudo apt install --reinstall python3-pandas

le but du jeu étant d’avoir un environnement python avec des versions de modules compatibles…
et compatible avec le script que tu veux lancer.
pour gérer ce genre de problème il est conseillé de créer un environnement virtuel en gros un environnement avec les modules utiles a un projet et qui ne pourri pas celui d un autre projet…
dans cet environnement on utilisera pip pour charger les modules et plus les modules de debian ( souvent plus anciens )
plus d info là:

j’ai désinstallé les modules pandas et réinstallé le paquet de la distribution par
sudo apt install --reinstall python3-pandas
et ça MARCHE !
Grand grand merci à toi. Je galérais sur des sites anglophones depuis plusieurs jours.
Par contre j’ai essayé de travailler avec un environnement virtuel à partir de ta proposition sur Open Classrooms et je n’y arrivais pas.
De plus ça prend beaucoup de place et je suis sur Raspberry 3b.
Comme tu vois je suis débutant-bricolo. En fait, pour mon chauffage solaire thermique, j’ai fait une régulation arduino et je cherche à mieux exploiter les données que je récupère en .csv
Ton aide m’a bien fait avancer
Bonne route à toi
Pascal