Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/01/2013, à 22:10

goyou

[Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Bonjour,
Pour quelqu'un qui a déjà installé numpy sur son pc, l'idée est de pouvoir invoquer un terminal qui charge python et qui charge numpy automatiquement pour s'en servir comme d'une calculatrice.
C'est-à-dire qu'on obtient une fenetre en ligne de commande dans laquelle les fonctions telles que exp() sin() log() sont préchargées.

En fait je l'ai déjà fait, il m'a fallu créer les trois fichiers suivants :

#### /calcupy.sh
python -i /calcupy.py

#### /calcupy.py
from numpy import *
print 'Numpy loaded'

#### /usr/share/applications/calcupy.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Calcul Numpy
GenericName=calcupy
Comment=Calculatrice python en terminal
Icon=accessories-calculator
Exec=sh /calcupy.sh
Terminal=true
StartupNotify=true
Categories=Sciences
Path=~


Et cela me crée une nouvelle entrée dans la liste des applications (Le menu Sciences n'existant pas, celle-ci est apparue dans Autres).
et j'obtiens une fenêtre nommée "sh" dans laquelle apparait :

Numpy loaded
>>>

et je peux taper :
exp(1)

ce qui affiche
2.71828...

Alors je suis content ! et j'espère que ça pourra servir à quelqu'un.

Mais je me pose encore deux questions :
Est-il possible de faire ça en créant seulement un ou deux fichier(s) ?
Est-il possible de changer le nom de la fenetre : écrire "Calcul numpy" ou "Numpy" au lieu de "sh" ?

Dernière modification par goyou (Le 23/01/2013, à 14:05)

Hors ligne

#2 Le 22/01/2013, à 23:16

Maisondouf

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Déjà ça serait bien de mettre tes fichiers python ailleurs que sur la racine du système....
Ensuite pour lancer un terminal qui lance python qui lance numpy, tout ça se fait dans le lanceur "/usr/share/applications/calcupy.desktop" que tu as crée.
Remplace ta ligne exec par ça:

gnome-terminal -t Numpy -e "python -i /<quelque-part>/calcupy.py"

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#3 Le 23/01/2013, à 10:58

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Pour simplifier encore :

Remplace ta ligne exec par ça:

gnome-terminal -t Numpy -e "python -ic \"from numpy import *; print 'Numpy loaded'\""

...et passe "Terminal=true" à "Terminal=false" (sinon il va utiliser un terminal pour te lancer gnome-terminal, ce qui est plutôt con big_smile

(et là tu peux supprimer calcupy.sh et calcupy.py).


PS: pourquoi n'utilises-tu pas bc ?

$ bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
e(1)
2.71828182845904523536
4^3
64
(45+66)*2^14+e(18)
67478593.13733051113878650325

Dernière modification par tiramiseb (Le 23/01/2013, à 10:59)

Hors ligne

#4 Le 23/01/2013, à 13:34

goyou

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Merci beaucoup pour vos réponses, je ne suis pas sous gnome mais je vois le truc.
J'essaie de lancer la commande suivante :

terminal --title=Numpy -e "python -i -c "from numpy import *; print 'Numpy loaded' " "

Le problème, c'est qu'il y a deux guillemets d'ouverture mais le système prend le deuxième guillemet comme fermeture du premier, et j'obtiens un message d'erreur : "numpy : option inconnue".
Par contre j'obtiens bien python et numpy chargés en ouvrant un terminal et en tapant :

python -i -c "from numpy import *; print 'Numpy loaded' "

ou j'obtiens bien un terminal avec "Numpy" en titre et python chargé en tapant :

terminal --title=Numpy -e "python -i"

Mais je ne peux toujours pas avoir Terminal+python+numpy en même temps, à cause du problème des guillemets
Donc je peux passer de trois à deux fichiers, si je pouvais résoudre le problème des guillemets je pourrais effectivement passer à un seul fichier.

Utiliser bc pourquoi pas, mon idée était cependant que j'utilise déjà numpy à la base alors pourquoi installer des trucs en plus si je peux me démerder en faisant simplement une ligne de commande en script.
Et puis c'est toujours intéressant pour l'utilisation des scripts, si je réussis a faire ça ça pourra me servir à autre chose plus tard, ou peut-être même à un lecteur du topic !

Hors ligne

#5 Le 23/01/2013, à 13:38

Maisondouf

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Essayes ça, sans garantie....

gnome-terminal --title=Numpy -e "python -i -c \"from numpy import *; print 'Numpy loaded' \" "

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#6 Le 23/01/2013, à 13:39

pingouinux

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Bonjour,
Ta commande en #4 est différente de celle que te propose tiramiseb en #3. Il manque des \ devant des ".

Hors ligne

#7 Le 23/01/2013, à 13:40

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Le problème, c'est qu'il y a deux guillemets d'ouverture mais le système prend le deuxième guillemet comme fermeture du premier, et j'obtiens un message d'erreur : "numpy : option inconnue".

Tu n'as pas mis les backslashes que j'ai placés pour échapper les guillemets de la commande python...

gnome-terminal --title=Numpy -e "python -i -c \"from numpy import *; print 'Numpy loaded' \""

(désolé je n'ai pas mis les balises "code", c'est pour pouvoir mettre en gras et rouge...)

Dernière modification par tiramiseb (Le 23/01/2013, à 13:40)

Hors ligne

#8 Le 23/01/2013, à 13:41

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Ou alors tu peux faire la chose suivante :

gnome-terminal --title=Numpy -e "python -ic 'from numpy import *'"

Hors ligne

#9 Le 23/01/2013, à 13:42

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

pingouinux: Mais t'es chiant ! Même dans mes conversations à moi tu réponds plus vite que moi ! lol

Maisondouf : toi aussi t'es chiant d'ailleurs. Moi j'vais aller bouder. Na !
(bon en vrai je vais surtout un peu travailler...)

Dernière modification par tiramiseb (Le 23/01/2013, à 13:43)

Hors ligne

#10 Le 23/01/2013, à 13:43

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

goyou a écrit :

Utiliser bc pourquoi pas, mon idée était cependant que j'utilise déjà numpy à la base alors pourquoi installer des trucs en plus

bc n'est pas un "truc en plus". Ce logiciel installé par défaut sur Ubuntu. smile

Hors ligne

#11 Le 23/01/2013, à 13:46

pingouinux

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

@tiramiseb #9 : Je suis désolé smile

Hors ligne

#12 Le 23/01/2013, à 13:46

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

En vrai t'es même pas désolé j'suis sûr tongue

Hors ligne

#13 Le 23/01/2013, à 14:00

goyou

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Owkèy !!
ça marche comme ceci :

gnome-terminal --title=Numpy -e "python -i -c \"from numpy import *; print 'Numpy loaded' \""

(je peux remplacer gnome-terminal par terminal si je ne suis pas sous gnome)
C'est grâce aux backslashes que l'on résout le problème des guillemets !!
Donc en résumé, pour créer l'application je crée simplement le fichier suivant :

/usr/share/applications/calcupy.desktop

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Calcul Numpy
GenericName=calcupy
Comment=Calculatrice python en terminal
Icon=accessories-calculator
Exec=gnome-terminal --title=Numpy -e "python -i -c \"from numpy import *; print 'Numpy loaded' \""
Terminal=false
StartupNotify=true
Categories=Sciences
Path=~

Merci beaucoup je suis impressionné par la rapidité et l'exactitude de vos réponses.
La petite dernière question subsidiaire : à quoi sert StartupNotify=true|false ?

Hors ligne

#14 Le 23/01/2013, à 14:06

tiramiseb

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

goyou a écrit :

(je peux remplacer gnome-terminal par terminal si je ne suis pas sous gnome)

Il faut le remplacer par la commande pour lancer un terminal. Sous GNOME et Unity c'est gnome-terminal, sous KDE c'est konsole, sous XFce c'est xfce4-terminal...
Mais je n'en connais pas qui se lance avec la commande "terminal" tout court.

goyou a écrit :

La petite dernière question subsidiaire : à quoi sert StartupNotify=true|false ?

C'est notamment pour faire apparaître le curseur de chargement au lieu du curseur classique.
http://developer.gnome.org/integration- … on.html.en

Hors ligne

#15 Le 23/01/2013, à 18:15

goyou

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

"terminal" c'est sur openSuse.
Mais je suis sur xfce en vrai donc j'ai mis xfce4-terminal.

Finalement le programme fonctionne parfaitement lorsque je l'appelle depuis le menu des applications mais ne se lance pas en l'appelant depuis synapse.

Hors ligne

#16 Le 30/01/2013, à 17:37

goyou

Re : [Astuce] Calculatrice Numpy dans Python dans un Terminal [Résolu]

Aujourd'hui j'ai fait une petite mise à jour :

gnome-terminal --title=Numpy -e "python -i -c \"from numpy import *; from math import *; print 'Numpy and math loaded' \""

pour avoir des fonctions en plus, en particulier erfc(x) et assimilées.

J'ai aussi mis cette ligne de commande en raccourci clavier (super+C).

Hors ligne