web-dev-qa-db-fra.com

Comment importer / ouvrir le module numpy vers IDLE

Je veux utiliser numpy pour un programme que je dois exécuter et je veux le faire dans l'IDE IDLE. J'ai installé le binaire numpy en ligne, mais lorsque j'essaie d'exécuter "import numpy" puis quelques commandes numpy dans mon script, mais le shell python Shell renvoie une erreur disant

Traceback (most recent call last):
  File "/Users/Admin/Desktop/NumpyTest.py", line 1, in <module>
    import numpy as np
ImportError: No module named numpy

J'ai essayé d'utiliser pip pour installer numpy, mais lorsque j'exécute pip install numpy dans le bash Shell, ça dit

Requirement already satisfied (use --upgrade to upgrade):
numpy in ./anaconda/lib/python2.7/site-packages

J'ai téléchargé Anaconda, dans lequel je peux utiliser la distribution numpy, mais j'aimerais vraiment le faire dans IDLE.

Que dois-je faire pour que numpy fonctionne dans IDLE? Dois-je l'enregistrer quelque part?

p.s. J'utilise OsX 10.10.5 Yosemite

8
SUPhys

Le titre est trompeur dans le sens suivant. Vous ne souhaitez pas importer un module dans IDLE. Vous souhaitez l'importer dans le python qui exécute votre code. Lorsque vous exécutez IDLE, il s'agit actuellement du même python exécutant IDLE. Pour trouver quel python est en cours d'exécution, ce qui suit devrait fonctionner n'importe où sur n'importe quel python récent, directement ou dans un IDE:

import sys; print(sys.executable)

En exécutant cela dans IDLE sur ma machine Windows, je reçois

C:\Programs\Python36\pythonw.exe

(Le suffixe w est une variante binaire spécifique à Windows pour exécuter des programmes GUI sans une fenêtre de console vide apparaît. Il doit être omis dans ce qui suit.)

Pour importer un module dans un python particulier, il doit être installé pour ce python particulier. La façon la plus simple de le faire est d'exécuter pip avec ce python particulier dans une console. Par exemple, étant donné l'exécutable ci-dessus:

C:\Programs\Python36> python -m pip install numpy

Sur * nix, il faudra peut-être d'abord exécuter, je crois, python -m ensurepip Pour installer pip lui-même pour ce python.

À propos de import pip; pip.main: Pip est conçu comme un utilitaire de ligne de commande qui initialise, exécute une fonction et se ferme. main () est un détail d'implémentation interne intentionnellement non documenté. L'auteur de pip décourage son utilisation car il est conçu pour un appel suivi d'une sortie de programme. Les appels multiples ne fonctionneront pas correctement lorsque les données internes ne seront plus synchronisées avec les fichiers installés.

15
Terry Jan Reedy

Pour installer des paquets sans affecter la configuration d'anaconda, vous pouvez utiliser pip depuis IDLE :

import pip
pip.main(["install","numpy"])

Bien que l'IDLE puisse être un peu lent avec le taux de rafraîchissement (au moins c'est sur mon mac), cela peut être un excellent boost de vitesse pour masquer la sortie jusqu'à la fin:

import sys
import pip
import io

stdout_real = sys.stdout
sys.stdout = io.StringIO()
try:
    pip.main(["install","kfksnaf"])
finally:
    stdout_real.write(sys.stdout.getvalue())
    sys.stdout = stdout_real

notez que cela signifie que toutes les sorties standard seront affichées après le texte d'erreur, ce qui pourrait prêter à confusion si quelque chose ne va pas, alors essayez-le normalement d'abord et faites-le uniquement s'il est mal en retard.

D'un autre côté, il semble qu'anaconda ait réquisitionné de nombreuses fonctionnalités de la python installée à partir de python.org, pour réduire son impact sur votre machine, vous devriez jeter un œil à tilisez la valeur par défaut Python plutôt que l'installation d'Anaconda lors d'un appel à partir du terminal bien que cela puisse alors casser les fonctionnalités d'anaconda, ce qui peut à son tour rendre difficile le retour en arrière si vous le souhaitez. .

5

J'obtenais une erreur

import numpy as npa

Traceback (dernier appel le plus récent): Fichier "", ligne 1, dans numpy d'importation en tant que np ModuleNotFoundError: Aucun module nommé 'numpy'

Je suis allé au chemin ci-dessous depuis cmd (admin) C:\Users \\ AppData\Local\Programs\Python\Python38-32\Scripts

Et puis exécuté la commande:

pip install numpy

cela résout mon problème. Vous pouvez également exécuter la commande ci-dessous afin de mettre à niveau pip python -m pip install --upgrade pip

Après l'installation, je peux voir "f2py.exe" sous C:\Users \\ AppData\Local\Programs\Python\Python38-32\Scripts

0
Divyanshu mehta