Archive

Articles taggués ‘consoles’

Python avec l’environnement PyCharm

03/01/2012 un commentaire

Installation et 1ère prise en main

L’environnement PyCharm, de Jetbrains (http://www.jetbrains.com/pycharm/) est prévu pour la programation, test, debug et déployement en Python. Le fichier téléchargé pour l’installation pèse env.80 MB. Elle se fait sans problème, pas besoin de redémarrer Windows. Avant de le lancer, il faut avoir un (ou plusieurs) interprèteur(s) Python installé(s). Dans mon cas, j’ai la version 2.7.2.

Au lancement, PyCharm vous demande lequel vous utilisez, afin de l’analyser et l’indexer. Ce qui prend pas mal de temps.

scann de Python

Si comme moi vous rangez vos projets Python dans un répertoire, il suffit d’indiquer à PyCharm avec lequel vous voulez travailler; il en fait un projet. Chaque fichier *.py du répertoire peut être démarré, Par contre, il faut le configurer en conséquence. Ci-dessous, le message: « Configure Python Interpreter », qui survient, la config étant accessible en tout temps via l’icône « clef à écrou » juste avant le « Help ».

Open dir
Ouvrir un projet

Disposition

Les fenêtres sont assez parlantes par elles même: Projet, Structure, Favorites, mais précisons qu’on peut les développer par Alt + n° de la fenêtre dans le layout, qui lui même est configurable et modifiable. Les fenêtres peuvent être Pined, Docked, Split ou encore Floating. Un double clic sur un nom de fichier du projet l’ouvre dans l’éditeur. Évidemment en syntaxe colorée. La structure correspondante apparaît et peut être développée. L’élément est représenté par un symbole coloré. On a v: variable, C: classe ou m: fonction (méthode, selon la terminologie PyCharm); si le symbole est cliqué, le curseur est positionné à l’endroit adéquat dans le fichier source. Celui-ci est encodé en utf-8 par défaut, PyCharm gère aussi le format de lignes Mac ou Unix.

Toutefois, j’ai été surpris par un fichier de config contenant des lettres accentuées au format ANSI Windows-1252 (et non utf-8 comme indiqué ci-dessous), il affichait de vilains losanges avec ‘?’.

codage win-1252

codage win-1252

Configuration

Reprenons les paramètres de lancement du module. Dans l’écran ci-dessus, le module chargé « det_an02″ est un programme simple, qui tient dans un seul fichier. Il faut qu’il soit déclaré « main » pour démarrer. Voyons donc la configuration, pas encore établie, donc avec un ‘x’ rouge.

Edit config
Editer la config

run_debug_conf

Par défaut, le nom de la config est celle du nom de fichier de script. Le plus souvent, si le module doit être testé, l’important est de fournir des paramètres en ligne de commande. Dans ce cas, se sont un fichier d’entrée à traiter « riponne20.txt » et celui de sortie « out3.txt ».

Pour lancer l’exécution,Logo Run la lancera en mode normal, tandis que Logo debug la lancera en mode « debug », dont le temps d’exécution est environ 10 fois plus grand.

Une fenêtre de l’interpréteur Python montre le résultat. Ou les erreurs de compilation, vu que le Python produit du byte-code. Un clic sur l’erreur amène l’édition à la ligne coupable.

Debugger

Le mode debugger est un point important d’un environnement de développement. Plutôt que d’envoyer des « print » aux points blocants du programme, PyCharm permet d’insérer des « break point » dans le code. Ou de lancer l’exécution jusqu’à la position du curseur dans le source. Ensuite, on peut suivre le déroulement en pas à pas, avec ou sans détailler les appels à des fonctions/méthodes, attendre le retour d’un fonction, voire un prochain « break point ». Il faut noter, cependant, un ralentissement considérable de l’exécution du programme!

Dès que le programme est suspendu, on peut changer au vol des variables, et procéder à l’évaluation d’expression, ce qui est utile dans des tests compliqués. Il suffit de faire une sélection partielle du code source et de le copier dans l’évaluateur pour en avoir le résultat.

Éditeur

L’éditeur est – nous l’avons vu – a coloration syntaxique. Ce n’est pas tout: il met automatiquement la parenthèse fermante si l’on en ouvre une, ainsi que les guillemets, crochets, etc, de ce qui va par paire. Ajouter un appel à la méthode d’une classe nous les propose et cette liste se réduit au fur et à mesure que les caractères sont tapés; on peut cliquer sur une des propositions pour la valider. La méthode acceptée, les paramètres nécessaires ou en option sont indiqués en suivant, mettant en gras le paramètre à introduire.

Aide à la rédaction

Dès qu’une ligne est en édition, ou si vous y posez le curseur, une lampe vient et vous propose une amélioration du code. Par exemple:

Aide redaction

C’est vrai qu’à l’instar de la ligne précédente, on pourrait écrire l’incrément de ‘duree’: duree += 1, ce qui est fait par un simple clic!

Une refactorisation des expressions dans une condition est parfois proposée plus compliquée que l’original, et n’amène rien:

Aide if

D’une manière générale, on peut lancer « Inspect code », et une liste de propositions d’améliorationn sera faite, classées par genre:

inspect code

L’édition est régulièrement sauvegardée dans un tampon qui mémorise les modifications apportées. On peut revenir sur nos dernières retouches (un bon millier est conservé) et les restituer à l’état précédent si besoin.

diff

Ceci a un coût: PyCharm a besoin de 160 à 270 Mb de RAM. Sur mon netbook, la mise en veille a un réveil bien lent. Il lui faut joliment 1 minute pour tout retrouver. En le démarrant depuis zéro, comme il prend par défaut le dernier projet, toujours sur mon netbook ça prend 1’35 : chargement du programme, chargement et analyse des fichiers (une barre de progression et les fichiers traités sont affichés), initialisation des fenêtres… arrive ensuite le pop-up « Tips of the day », soit une astuce ou conseil du jour, tandis-que la fenêtre « structure » se complète.

Productivité

PyCharm ne se laisse pas « avoir » par une modification de fichier extérieure, il a un oeil sur tout. Sa puissance est démontrée lors de modification tel le renommage d’une structure. Son nom n’est pas terrible, vous voulez le changer? Un clic droit dessus, et « refactor » permet de la renommer ou de la déplacer: toutes les références dans les différents sources sont mises à jour, même dans les commentaires!

refactor

Ceci est particulièrement bienvenu dans Python, car des erreurs dans un bloc qui passe rarement peuvent facilement passer inaperçues, jusqu’au jour ou la condition est remplie. Et l’erreur sort à l’éxécution. La limite du système se voit si vous utilisez un nom un peut trop général: PyCharm scannant tous les modules, il va vous en proposer un peut trop. Mais on peut facilement les exclure, et éviter de modifier par mégarde du code importé qui fonctionne.

Une fenêtre sympathique: Todo. Il suffit de mettre ce mot clef dans un commentaire de votre code, et vous pourrez en atteindre rapidement l’endroit:

todo

S’il y en a beaucoup, la présentation arborescente par fichier en facilite l’accès.

Mode interactif – console Python

Démarrer la console n’est pas – contrairement à ce qu’on peut s’y attendre – sous le menu « Run », mais sous « Tools ». Cette console permet – comme dans d’autres solutions – de rentrer une portion de code pour en tester la forme et les réactions. Les lignes entrées sont mémorisées, même après l’arrêt et le redémarrage de la console, voir du programme, ce qui permet d’y revenir facilement. De plus, la fenêtre « structure » montre les éléments introduits, comme pour un source Python.

Conclusion provisoire

Forcément provisoire… JetBrains est un éditeur plein de ressources, proposant plus d’une dizaine d’environnement. Les versions progressent rapidement et sont mise à jour en fonction non seulement des nouveautés, mais avec des fonctionnalités nouvelles ou supérieures. Il y a encore ce dont je ne vous ai pas parlé (car non utilisé): l’édition de Javascript et de HTML, et pour rester coté Python,  le développement WEB avec Django. Utilisable 30 j gratuit, la licence est de 99$. Pour un usage entreprise, c’est $199. Avec du support dans les deux cas.

Yves Masur

C'est bien ? Partagez !
  • Facebook
  • Twitter
  • Wikio FR
  • del.icio.us
  • Google Bookmarks
  • email

W7 – moniteur de fiabilité

En bidouillant W7 j’ai découvert le moniteur de fiabilité. Pour le lancer, allez dans Panneau de configuration -> centre de maintenance -> Moniteur de fiabilité. Il est possible de donner une fenêtre temporelle, et les problèmes sont affichés de manière graphique:

Capture écran

moniteur de fiabilité

On remarquera ici que W7 s’est planté régulièrement… A sa décharge, le problème survient toujours lors de la mise en veille (ou d’en ressortir!)

C'est bien ? Partagez !
  • Facebook
  • Twitter
  • Wikio FR
  • del.icio.us
  • Google Bookmarks
  • email

Windows 7 – détection graphique faible?

Une amie m’a demandé mon portable pour faire une présentation avec une beamer. Comme j’avais déjà utilisé *ce* matériel, je lui ai confié mon outil (un Dell Vostro 1700) en toute confiance le jour précédent sa démo. Or elle n’est pas parvenue à afficher la moindre image, malgré qu’un gymnasien sur place essaie différentes combinaisons de résolution d’écran. Un autre PC a dû être amené en catastrophe…
Puce à l’oreille, j’essaye mon PC sur un écran LCD avec un câble adéquat. Rien! pas la moindre image! Pris d’un doute, je fais le même essai avec le PC du fiston: tout est OK…
Le problème vient du driver installé par Windows 7: VGA Standard. Comme la résolution (1920 x 1200) était bonne, je ne me suis pas méfié. Et comme mes dernières présentations au Microclub étaient une fois à distance par LogMeIn, et la seconde sur pièce, je ne me suis plus du tout rappelé que le PC n’avait plus été connecté à un beamer depuis l’utilisation de W7!
Dell n’offre aucun support ou mise à jour de l’OS sur cette machine. Pour remettre en service la sortie via la prise externe, j’ai dû charger les drivers de NVDIA directement sur le site du fabricant. Maintenant, la combinaison de touches [Win] + [P] me permet de sélectionner le mode: Ordi seul – dupliquer – étendre – Beamer seul.
Prochaine conférence… Ouf, j’ai eu chaud… je me serais fait avoir.

Yves Masur

C'est bien ? Partagez !
  • Facebook
  • Twitter
  • Wikio FR
  • del.icio.us
  • Google Bookmarks
  • email
Categories: Non classé Tags: , , , ,

Liens – jusqu'ou?

Or donc Vista et W7 supportent les liens sur les arborescences NTFS. Jusqu’ou? voici quelques expériences, faites sur un dique à 2 partitions: C: et D: qui ont Vista et W7 64 bits. Le système démarré obtient le C:, l’autre le D: et respectivement. Un seul répertoire \temp est suffisant; on peut le créer ainsi:

C:\>mklink /J temp d:\temp
Jonction créée pour temp <<===>> d:\temp

Ainsi l’on voit c:\temp et D:\temp, mais le « vrai » est sur D:, est c’est transparent:

C:\temp>dir
 Le volume dans le lecteur C s'appelle Vista
 Le numéro de série du volume est 4C45-D48C
 Répertoire de C:\temp
20.06.2009  11:02    <REP>          .
20.06.2009  11:02    <REP>          ..
11.06.2009  10:05           131'906 cmd-c.pdf
06.06.2009  06:25               403 driverinst.log

Pour la petite histoire, le disque C: avait déjà un lien sur c:\temp, nommé tmp. Ce dernier était un moment orphelin, vu que le répertoire cible « C:\temp » était détruit en vue de le remplacer par le lien sur son alter-ego de D:\temp. Et maintenant, si je liste C:\tmp, le contenu est automatiquement celui de D:\temp !

Qui dit mieux? Un programme, pour voir. La tricherie est assez monstrueuse: j’envisage de lancer non moins que Firefox de W7 (en 32 bits, donc dans le répertoire x86) par la session Vista. Un premier essai ne fonctianne pas, car des résidus sont restés dans « Programm Files » de Vista:

C:\Program Files>mklink /J "Mozilla Firefox" "d:\Program Files (x86)\Mozilla Firefox"
Impossible de créer un fichier déjà existant.

La destruction du répertoire soigne le mal; et on reprend:

C:\Program Files>mklink /J "Mozilla Firefox" "d:\Program Files (x86)\Mozilla Firefox"
Jonction créée pour Mozilla Firefox <<===>> d:\Program Files (x86)\Mozilla Firefox

Ensuite, je crée le raccourci sur l’EXE mappé dans le lien. Celui-ci possède le répertoire: « C:\Program Files\Mozilla Firefox\firefox.exe ». Il vise dont à travers le lien! Et ça fonctionne pile-poil.

En conclusion, on peut grâce aux liens arranger  des configurations sans ré-installer, installer à double ou copier les mêmes données. Prudence avec les backup…

Yves Masur

C'est bien ? Partagez !
  • Facebook
  • Twitter
  • Wikio FR
  • del.icio.us
  • Google Bookmarks
  • email
Categories: Non classé Tags: , , ,

Superordinateurs de table

Depuis de nombreuses années, les ordinateurs les plus puissants sont formés de très nombreux processeurs calculant en parallèle. Le record actuel est tenu par le “Roadrunner” d’IBM qui comprend 6′948 Opteron bicœurs et 12′960 processeurs PowerXCell 8i d’IBM, contenant chacun 8 unités de calcul en flux (”Stream Processing Unit”, SPU).

“Roadrunner” peut effectuer 1 petaflops, soit un million de milliards d’opérations arithmétiques par seconde et vaut des millions d’euros. Vous pouvez aujourd’hui assez facilement disposer dans votre PC du millième de cette puissance pour quelques centaines d’euros seulement.

En effet, les processeurs graphiques “GPU” récents sont formés de centaines d’unités de calcul en flux assez semblables aux 8 SPU du Cell. Initialement dédiés à la génération d’images réalistes en 3D temps réel et limités au calcul en virgule fixe, les GPU sont devenus capables d’exécuter certains programmes en virgule flottante beaucoup plus rapidement que sur les processeurs classiques : c’est le calcul générique sur GPU  (GPGPU).

La série 5000 d’ATI (racheté par AMD) et les nouvelles GTX 200 de nVidia offrent désormais une puissance de l’ordre du teraflops, soit 200x plus que les plus puissants processeurs intel. D’ailleurs nVidia commercialise désormais ses derniers processeurs sur des cartes “Tesla” dédiées au calcul, et dépourvues de sortie video, un comble pour des processeurs graphiques !

La suite sur mon blog…

C'est bien ? Partagez !
  • Facebook
  • Twitter
  • Wikio FR
  • del.icio.us
  • Google Bookmarks
  • email
Categories: Non classé Tags: , , , , , , , ,

Supercalculateurs : le Top 500

L’article « Supercalculateurs : les processeurs multi-coeurs bousculent le Top 500 » sur Futura-Sciences donne quelques infos intéressantes sur les 500 ordinateurs les plus puissants du monde actuellement :

  1. La puissance de calcul cumulée des 500 supercalculateurs les plus puissants du monde équivaut à 6,97 PFlops (pétaflops), soit pratiquement le double des 3,54 PFlops d’il y a un a. La Loi de Moore est donc toujours aussi remarquablement vraie :


    puissance de calcul du plus puissant ordinateur du monde (#1), du 500ème et de la somme des 500
    Attention : l’échelle vertical est logirightmique : chaque division correspond à 10x la puissance de celle d’en dessous !

  2. Le BlueGene/L installé au Lawrence Livermore National Laboratory est l’ordinateur le plus puissant du monde depuis 2004. Il dispose désormais de 32x32x64 = 106.496 nœuds de calcul biprocesseur disposés en tore 3D, délivrant 478,2 TFlops (contre 280,6 TFlops en juin dernier)
  3. Les Xeon double coeur d’Intel équipent 43% des supercalculateurs, et les quadruple coeur déjà 20% ! Mais les PowerPC d’IBM équipent toujours 34% des 50 machines les plus puissantes, dont le BlueGene/L, et AMD se maintient autour de 10% de parts de marché, notamment grâce à Cray qui va équiper son XT5 avec des AMD Opteron
  4. Le projet Folding@Home, qui utilise une « grille » formée par les machines mises à disposition sur internet par les particuliers lorsqu’is ne s’en servent pas, a disposé le 15 septembre d’une puissance de calcul de 1 Petaflop, soit le double du BlueGene/L ! Cette puissance a été fournie à 60% par des consoles de jeu PlayStation 3 de Sony mues par le processur Cell d’IBM qui est en quelque sorte un PowerPC avec 8 coprocesseurs vectoriels.

Tout ça doit chauffer pas mal

C'est bien ? Partagez !
  • Facebook
  • Twitter
  • Wikio FR
  • del.icio.us
  • Google Bookmarks
  • email
Categories: Non classé Tags: , , , ,