Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-b.proxad.net!nnrp1-1.free.fr!not-for-mail Newsgroups: fr.comp.lang.python From: Lulu Subject: Re: windows : installation module References: Organization: koitess? User-Agent: slrn/1.0.3 (Linux) Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: Date: Tue, 30 Nov 2021 01:10:23 +0100 Lines: 140 NNTP-Posting-Date: 30 Nov 2021 01:10:37 CET NNTP-Posting-Host: 37.173.226.43 X-Trace: 1638231037 news-1.free.fr 4986 37.173.226.43:37627 X-Complaints-To: abuse@proxad.net Bytes: 5828 Le 29-11-2021, Lulu a écrit : > Bonjour, > > Je suis linuxien, donc autant dire que je n'ai aucun problème pour > installer des modules python sur ma linuxette. > > Mais mes élèves sont sous Windows 10 (dotation de la région pour tous > les élèves de seconde) et je suis censé leur donner la marche à suivre > pour installer un module comme numpy par exemple. > > Sous windows 10, je peux installer numpy dans une 'invite de commande' > lancée en tant qu'administrateur avec 'python -m pip install numpy'. > > Cependant, je mange une erreur à l'exécution de mon script : > %Run syracuse2_nocolor.py > Traceback (most recent call last): > File "C:\Users\hugo\Documents\taf\2nd_SNT\01_algo_python\2020-01-07_syracuse2\syracuse2_nocolor.py", line 24, in > import numpy as np > ModuleNotFoundError: No module named 'numpy' > > Il semble donc que l'installation des modules ne soit pas "vue" par mon > script. Donc, j'ai besoin d'aide... > > Comment installer un module pour python sous Windows 10 ? > > Merci de votre aide. J'ai pensé que vous auriez apprécié le code de la conjucture de syracure : #!/usr/bin/python3 # -*- coding: utf-8 -*- # Auteur : , Lycée Jules Siegfried, Le Havre # Creative Commons : https://creativecommons.org/licenses/by-nc-sa/2.0/fr/ # Attribution :: Pas d'utilisation commerciale :: Partage dans les mêmes conditions # Formulée en 1937 par Lothar Collatz (mathématicien allemand), elle # reste à ce jour irrésolue : personne n'a encore pu prouver que cette # conjecture se termine toujours par 1. # Propriétés remarquables de la conjecture : # - un nombre n'apparait jamais 2 fois dans la suite ; # - toute suite se termine par une série de puissances de 2 ; # - un nombre impair est toujours suivi d'un nombre pair ; # - les nombres 5 et 32 donnent la même suite. # Certains nombres ont des trajectoires surprenantes :27, 255, 447, 639 ou 703. # Ce script utilise le test 'if' et le test 'while' puis trace un graphe. import numpy as np import matplotlib.pyplot as plt # mar. 27 avril 2021 18:15:16 CEST # je veux avoir une espace en séparateur de milliers import locale # https://stackoverflow.com/questions/955986/what-is-the-correct-way-to-set-pythons-locale-on-windows # You should not pass an explicit locale to setlocale, it is wrong. # Let it find out from the environment. # You have to pass it an empty string # locale.setlocale(locale.LC_NUMERIC, 'fr_FR.UTF-8') locale.setlocale(locale.LC_ALL, '') # je n'aurais plus qu'à faire 'print("ma variable vaut {:n} bla bla".format(ma_variable))' # pour que ma_variable affiche les séparateurs de milliers # Cette fonction devient inutile # def Formate_Entier(s, sep=' '): # if len(s) <= 3: # return s # else: # return Formate_Entier(s[:-3], sep) + sep + s[-3:] print('\n **************************') print(' * Conjecture de Syracuse *') print(' **************************\n') # test pour vérifier que l'utilisateur saisi bien un nombre entier while True: x = input('Donner un nombre entier : ') try: le_nombre_saisi = int(x) break except ValueError: print(' Saisir un nombre ENTIER !!!') pass le_nombre = le_nombre_saisi print("{:>20n}".format(le_nombre), end='') # initialisation de la liste des nombres constituants la suite de Syracuse suite_Syracuse = [] altitude_max = 1 while le_nombre != 1 : suite_Syracuse.append(le_nombre) if le_nombre > altitude_max : altitude_max = le_nombre if le_nombre % 2 == 0: print(' pair ---> x = x / 2') le_nombre = le_nombre // 2 else: print(' impair ---> x = 3 * x + 1') le_nombre = 3 * le_nombre + 1 print("{:>20n}".format(le_nombre), end='') suite_Syracuse.append(1) print('\n\n-=-=-=-=') print(suite_Syracuse) print('-=-=-=-=') print('Nombre saisi :', "{:n}".format(le_nombre_saisi)) print('Temps de vol :', "{:n}".format(len(suite_Syracuse)), 'itérations.') print('Altitude maximale atteinte :', "{:n}".format(altitude_max)) abscisse_liste = [] for i in range(len(suite_Syracuse)): abscisse_liste.append(i) x = np.array(abscisse_liste) y = np.array(suite_Syracuse) fig = plt.figure(figsize=(10, 6)) # plt.yscale('log') # plt.grid() plt.bar(x, y, color = 'green') plt.suptitle('Conjecture de Syracuse', fontsize = 20, x = 0.5, y = 0.995, color = 'red') la_string = "(graphe pour {:n})".format(le_nombre_saisi) plt.title(la_string, color='orange') Comm_altitude_max = "altitude max : {:n}".format(altitude_max) plt.text(0, altitude_max, Comm_altitude_max) Comm_temps_de_vol = "temps de vol : {:n} itérations".format(len(suite_Syracuse)) plt.text(0, 0.95 * altitude_max, Comm_temps_de_vol) plt.show()