qcas et giacpy
Modérateur : xcasadmin
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
qcas et giacpy
Bonjour a tous, j'ai mis quelques binaires de qcas utilisant la librairie libgiac complete sur ma page:
http://www.math.jussieu.fr/~han/xcas
Pour l'instant il y a une version linux 32 bits et une version OSX.
J'ai mis aussi un binaire 32bits de xcas 1.1 + qcas + giacpy
http://www.math.jussieu.fr/~han/xcas/xc ... inux32.tgz
et pour giacpy j'ai ajoute une version macosx qui contient les sources et quelques instructions de compilation:
http://www.math.jussieu.fr/~han/xcas/giacpy
voila, j'espere qu'elles marcheront pour vous aussi.
Frederic
http://www.math.jussieu.fr/~han/xcas
Pour l'instant il y a une version linux 32 bits et une version OSX.
J'ai mis aussi un binaire 32bits de xcas 1.1 + qcas + giacpy
http://www.math.jussieu.fr/~han/xcas/xc ... inux32.tgz
et pour giacpy j'ai ajoute une version macosx qui contient les sources et quelques instructions de compilation:
http://www.math.jussieu.fr/~han/xcas/giacpy
voila, j'espere qu'elles marcheront pour vous aussi.
Frederic
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
Bonjour,
J'ai mis a jour giacpy en version 0.4. Il y a maintenant support de Python 3. J'ai aussi un peu ameliore le paquetage debian de giacpy. dpkg-buildpackage construit donc les versions pour python et python3 et execute les doctests. (il cree aussi automatiquement libqcas.a)
Le source complet est la:
http://www.math.jussieu.fr/~han/xcas/gi ... 4.0.tar.gz
J'ai fait aussi une version giacpy-nox pour ceux qui n'ont pas QT d'installe.
Les paquets debian amd64 et sources sont la:
http://www.math.jussieu.fr/~han/xcas/giacpy/deb
NB: Le paquet debian 32bits de giac du 12 juillet pose probleme avec giacpy en 32bits. (mais pas une autre version de la libgiac 32bits, par exemple celle ci)
J'ai mis a jour giacpy en version 0.4. Il y a maintenant support de Python 3. J'ai aussi un peu ameliore le paquetage debian de giacpy. dpkg-buildpackage construit donc les versions pour python et python3 et execute les doctests. (il cree aussi automatiquement libqcas.a)
Le source complet est la:
http://www.math.jussieu.fr/~han/xcas/gi ... 4.0.tar.gz
J'ai fait aussi une version giacpy-nox pour ceux qui n'ont pas QT d'installe.
Les paquets debian amd64 et sources sont la:
http://www.math.jussieu.fr/~han/xcas/giacpy/deb
NB: Le paquet debian 32bits de giac du 12 juillet pose probleme avec giacpy en 32bits. (mais pas une autre version de la libgiac 32bits, par exemple celle ci)
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
Bon j'ai reussi a (cross) compiler qcas et giacpy-0.4 pour windows avec mingw et une libgiac incluse en statique compilee avec gsl,mpfr,gmp.
qcas (+gmp+mpfr+gsl) win32
NB: pour la version windows de giacpy, l'interface graphique/qcas ne marche pas depuis linux avec wine, mais je l'ai testee sous un vrai windows et je n'ai pas eu d'ennuis avec portable python 2.7 ni 3.2. On peut deposer et renomer le dossier (par exemple on peut l'appeler giacpy) voulu dans Libs/site-packages. On peut aussi l'avoir n'importe ou et faire comme dans exemple.py
giacpy-0.4 win32
Fred
qcas (+gmp+mpfr+gsl) win32
NB: pour la version windows de giacpy, l'interface graphique/qcas ne marche pas depuis linux avec wine, mais je l'ai testee sous un vrai windows et je n'ai pas eu d'ennuis avec portable python 2.7 ni 3.2. On peut deposer et renomer le dossier (par exemple on peut l'appeler giacpy) voulu dans Libs/site-packages. On peut aussi l'avoir n'importe ou et faire comme dans exemple.py
giacpy-0.4 win32
Fred
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
macosx
J'ai mis a jour les versions macosx de qcas_0.2.dmg et de
giacpy (0.4) Ces versions sont basées sur le paquet giac testing du 25/8/2013 et sont en 64 bits.
Normalement les dépendances (librairies QT4, libgiac) sont incluses, mais pas la doc html. Si giac/xcas est installe aux chemins par defaut, giacpy et qcas devraient la trouver. giacpy fonctionne avec la version par defaut de python pour macosx. Pour recompiler giacpy sous macos regarder le dossier source inclus et le fichier compil-osx.txt (on peut peut etre passer le debut et eviter de recompiler libqcas. j'ai utilise qt4.8)
J'ai mis a jour les versions macosx de qcas_0.2.dmg et de
giacpy (0.4) Ces versions sont basées sur le paquet giac testing du 25/8/2013 et sont en 64 bits.
Normalement les dépendances (librairies QT4, libgiac) sont incluses, mais pas la doc html. Si giac/xcas est installe aux chemins par defaut, giacpy et qcas devraient la trouver. giacpy fonctionne avec la version par defaut de python pour macosx. Pour recompiler giacpy sous macos regarder le dossier source inclus et le fichier compil-osx.txt (on peut peut etre passer le debut et eviter de recompiler libqcas. j'ai utilise qt4.8)
Dernière modification par frederic han le mer. août 28, 2013 5:41 am, modifié 1 fois.
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
debian
j'ai fait des paquets debian de qcas_0.2 (i386) et (amd64) .deb qui dependent du paquet giac 1.1 (je les ai testes et construits avec le paquet debian giac testing du 25/8/2013 sur une debian stable)
J'ai aussi fait des paquets debian i386 et amd64 de giacpy-0.4. NB: Le paquet i386 fonctionne avec le paquet giac testing du 25/8/2013. (J'ai eu des probleme avec le paquet plus ancien) (pour python2 et python3)
Donc maintenant, on devrait pouvoir profiter de qcas et giacpy sous windows, linux et macos. Les versions de giacpy sont compilees avec la libqcas qui permet les affichages en 2D des sorties giac.
Malheureusement je n'y connais rien en openGL je sais pas trop ce qu'il faudrait faire pour profiter des graphiques 3D de giac.
Fred
j'ai fait des paquets debian de qcas_0.2 (i386) et (amd64) .deb qui dependent du paquet giac 1.1 (je les ai testes et construits avec le paquet debian giac testing du 25/8/2013 sur une debian stable)
J'ai aussi fait des paquets debian i386 et amd64 de giacpy-0.4. NB: Le paquet i386 fonctionne avec le paquet giac testing du 25/8/2013. (J'ai eu des probleme avec le paquet plus ancien) (pour python2 et python3)
Donc maintenant, on devrait pouvoir profiter de qcas et giacpy sous windows, linux et macos. Les versions de giacpy sont compilees avec la libqcas qui permet les affichages en 2D des sorties giac.
Malheureusement je n'y connais rien en openGL je sais pas trop ce qu'il faudrait faire pour profiter des graphiques 3D de giac.
Fred
Re: qcas et giacpy
Sur la 3d et opengl, ca devrait etre possible de s'inspirer de Graph3d.cc.
La methode d'affichage s'appelle draw, elle initialise un contexte opengl, puis appelle display qui contient tous les appels avec du code opengl, la creation de repere, de la boite, des axes, puis les affichages des objets (indraw).
La methode d'affichage s'appelle draw, elle initialise un contexte opengl, puis appelle display qui contient tous les appels avec du code opengl, la creation de repere, de la boite, des axes, puis les affichages des objets (indraw).
Re: qcas et giacpy
Salut,
je suis en train d'essayer tes packages de giacpy
- sur mon mac os x.6, ca ne marche malheureusement pas ou alors je ne sais pas comment l'installer, que faut-il faire de giacpy.app?
- sous windows, il manque setup.py pour installer. J'ai installe manuellement tout dans Lib/site-packages, ca a l'air de marcher, mais comment on affiche un graphe avec qcas? Pas reussi a le retrouver dans le README
Edit: j'ai retrouve
Ca devrait etre dans le README.
je suis en train d'essayer tes packages de giacpy
- sur mon mac os x.6, ca ne marche malheureusement pas ou alors je ne sais pas comment l'installer, que faut-il faire de giacpy.app?
- sous windows, il manque setup.py pour installer. J'ai installe manuellement tout dans Lib/site-packages, ca a l'air de marcher, mais comment on affiche un graphe avec qcas? Pas reussi a le retrouver dans le README
Edit: j'ai retrouve
Code : Tout sélectionner
from giacpy import *
help(Pygen.qcas)
d=giac('plot(sin(x))')
d.qcas()
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
Giacpy macosX
j'ai mis a jour le fichier
http://www.math.jussieu.fr/~han/xcas/gi ... .4_osx.dmg
car il avait un petit probleme de dependances il ne trouvait pas forcement les gmp et mpfr fournis. normalement ca devrait etre autonome et deplacable
Je l'ai teste sur macos 10.7 et 10.6. ca marche (graphiques 2D par qcas aussi) meme si en 10.6 on a un warning a cause de python2.6 au lieu de 2.7.
a priori, il suffit de copier le repertoire giacpy.app quelque part, et soit de travailler dedans, soit de l'ajouter a ses chemins, par exemple en faisant dans la console:
export PYTHONPATH=/Volume/giacpy/giacpy.app
ou depuis python comme dans le fichier exemple.py
Frederic
j'ai mis a jour le fichier
http://www.math.jussieu.fr/~han/xcas/gi ... .4_osx.dmg
car il avait un petit probleme de dependances il ne trouvait pas forcement les gmp et mpfr fournis. normalement ca devrait etre autonome et deplacable
Je l'ai teste sur macos 10.7 et 10.6. ca marche (graphiques 2D par qcas aussi) meme si en 10.6 on a un warning a cause de python2.6 au lieu de 2.7.
a priori, il suffit de copier le repertoire giacpy.app quelque part, et soit de travailler dedans, soit de l'ajouter a ses chemins, par exemple en faisant dans la console:
export PYTHONPATH=/Volume/giacpy/giacpy.app
ou depuis python comme dans le fichier exemple.py
Frederic
Re: qcas et giacpy
Bon, j'ai remplace le repertoire python27 de l'installer de xcas windows par un fichier README.python qui fait reference a ton site. Il restera a faire de la pub...
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
Salut,
en python pour avoir de l'aide sur un module une fois qu'il est dans les chemins (mais par exemple ./ y est toujours)
il suffit de faire:
(avec des guillemets, et le module n'a pas besoin d'etre charge. la il y a un exemple pour qcas)
C'est vrai mon README.txt est plutot pour linux, il faudra que je le revise.
pour windows et osx le dossier giacpy doit etre simplement place ou l'on veut. effectivement, ils marchent sans xcas (sauf la doc html pour osx)
Ensuite on peut charger une fonction (comme c'est indique ds help('giacpy')):
from giacpy import giac
et faire
help(giac)
A mon avis, giacpy peut etre utile meme s'il n'est pas installe dans les chemins par defaut de python.
Dans ce cas on peut travailler de 2 facons:
soit comme dans exemple.py, soit avec une copie ou un lien du dossier vers notre repertoire courant.
Donc je pense qu'il vaut mieux avoir un dossier avec les fichiers que rien du tout. Tu trouves cela trop gros pour etre dans xcas? (je pense qu'avec une version pour python2 et une pour python3 on s'en sort)
NB: le seul truc qui ne marche pas sous windows est l'aide html car je ne sais pas quel chemin donner a la compilation de libgiac.
idem, dans osx, si l'on n'a pas les droits, on peut toujours utiliser giacpy, par exemple avec PYTHONPATH
Fred
Je viens de realiser, effectivement c'est un peu gros car il y a deja la libgiac dedans. (mais je n'ai pas de cygwin fonctionnel pour compiler tout ca)
Fred
en python pour avoir de l'aide sur un module une fois qu'il est dans les chemins (mais par exemple ./ y est toujours)
il suffit de faire:
Code : Tout sélectionner
help('giacpy')
C'est vrai mon README.txt est plutot pour linux, il faudra que je le revise.
pour windows et osx le dossier giacpy doit etre simplement place ou l'on veut. effectivement, ils marchent sans xcas (sauf la doc html pour osx)
Ensuite on peut charger une fonction (comme c'est indique ds help('giacpy')):
from giacpy import giac
et faire
help(giac)
A mon avis, giacpy peut etre utile meme s'il n'est pas installe dans les chemins par defaut de python.
Dans ce cas on peut travailler de 2 facons:
soit comme dans exemple.py, soit avec une copie ou un lien du dossier vers notre repertoire courant.
Donc je pense qu'il vaut mieux avoir un dossier avec les fichiers que rien du tout. Tu trouves cela trop gros pour etre dans xcas? (je pense qu'avec une version pour python2 et une pour python3 on s'en sort)
NB: le seul truc qui ne marche pas sous windows est l'aide html car je ne sais pas quel chemin donner a la compilation de libgiac.
idem, dans osx, si l'on n'a pas les droits, on peut toujours utiliser giacpy, par exemple avec PYTHONPATH
Fred
Je viens de realiser, effectivement c'est un peu gros car il y a deja la libgiac dedans. (mais je n'ai pas de cygwin fonctionnel pour compiler tout ca)
Fred
Re: qcas et giacpy
Je ne pense pas qu'il faut compiler les modules giacpy avec cygwin, c'est bien mieux de n'avoir aucune dependance. Le module que j'avais compile avec mingw faisait compresse dans les 4M, mais c'etait seulement pour python 2.7 et sans qcas. En mettre 2 ou 3 avec qcas, ca risque de faire grossir xcas alors que les publics cibles sont peut-etre assez distincts, je pense donc que c'est mieux de les laisser independants. C'est plus robuste aussi, je ne risque pas de faire planter le module giacpy par un changement dans giac.
Sinon, je pense qu'il faut faire un petit effort pedagogique pour expliquer l'install sous windows si on veut toucher les profs et les eleves de classes prepa. Voila mon README.python, il faudra je pense aussi le traduire en francais.
Calling giac from python:
Frederic Han has written a python plugin connecting python to giac
http://www.math.jussieu.fr/~han/xcas/giacpy
It supports multiprecision floats, the Gnu Scienfic Library and can currently display 2-d objects using qcas.
Installation: get the zip file corresponding to your version of Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Unzip the archive and copy all the files from the subdirectory to your Python Lib/site-packages directory
Example of commands: run the python interpreter, then
from giacpy import *
ifactor(2**128+1)
x=giac('x')
f=factor(x**10-1)
d=plot(sin(x))
d.qcas()
help("giacpy")
normal.help()
Sinon, je pense qu'il faut faire un petit effort pedagogique pour expliquer l'install sous windows si on veut toucher les profs et les eleves de classes prepa. Voila mon README.python, il faudra je pense aussi le traduire en francais.
Calling giac from python:
Frederic Han has written a python plugin connecting python to giac
http://www.math.jussieu.fr/~han/xcas/giacpy
It supports multiprecision floats, the Gnu Scienfic Library and can currently display 2-d objects using qcas.
Installation: get the zip file corresponding to your version of Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Unzip the archive and copy all the files from the subdirectory to your Python Lib/site-packages directory
Example of commands: run the python interpreter, then
from giacpy import *
ifactor(2**128+1)
x=giac('x')
f=factor(x**10-1)
d=plot(sin(x))
d.qcas()
help("giacpy")
normal.help()
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
Salut bernard,
en fait ca n'est pas un tres bon conseil, normalement je me suis arrange pour que l'on puisse deplacer le directory complet. (J'ai refait des archives pour que le unzip cree un directory giacpy (plutot que giacpywin32python27). Comme ca il suffit de le dezipper dans Lib/site-packages (tu devrais peut etre preciser: de votre install python) ou de le garder a cote de soi si l'on n'en a pas le droit.
je mettrai plutot comme ca:
help('giacpy') donne une aide courte sur le module. (NB: elle dit par exemple de faire ce qui suit)
from giacpy import giac
help(giac) donne plus d'aide sur l'utilisation (une fois cette fonction chargee).
puis tes exemples:
a+
Fred
en fait ca n'est pas un tres bon conseil, normalement je me suis arrange pour que l'on puisse deplacer le directory complet. (J'ai refait des archives pour que le unzip cree un directory giacpy (plutot que giacpywin32python27). Comme ca il suffit de le dezipper dans Lib/site-packages (tu devrais peut etre preciser: de votre install python) ou de le garder a cote de soi si l'on n'en a pas le droit.
pour l'aide:parisse a écrit : Installation: get the zip file corresponding to your version of Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Unzip the archive and copy all the files from the subdirectory to your Python Lib/site-packages directory
je mettrai plutot comme ca:
help('giacpy') donne une aide courte sur le module. (NB: elle dit par exemple de faire ce qui suit)
from giacpy import giac
help(giac) donne plus d'aide sur l'utilisation (une fois cette fonction chargee).
puis tes exemples:
a+
Fred
Re: qcas et giacpy
On peut utiliser le module depuis un sous-répertoire de Lib/site-packages? Si oui, alors c'est en effet plus simple et plus propre de dezipper là.
Si on n'a pas les droits, comment on fait pour que python trouve le répertoire du package? On ne peut pas supposer que les gens vont lancer python depuis un terminal sous windows, il ne pourront pas faire des export PYTHONPATH=quelquechose. Il faut imaginer qu'ils utiliseront python depuis idle ou une autre interface graphique dans laquelle ça doit pouvoir se configurer, mais comment je ne sais pas... Ceci dit, je ne pense pas que ça soit un problème en-dehors d'un environement controlé de type windows d'un lycée (et là il faut juste expliquer à l'administrateur système comment faire), les utilisateurs de machine windows ont en général les droits sur leur machine.
Sinon, pour l'aide HTML, que penses-tu d'utiliser la variable d'environement XCAS_HELP? Est-ce modifiable par une commande python équivalente à export sous bash?
Si on n'a pas les droits, comment on fait pour que python trouve le répertoire du package? On ne peut pas supposer que les gens vont lancer python depuis un terminal sous windows, il ne pourront pas faire des export PYTHONPATH=quelquechose. Il faut imaginer qu'ils utiliseront python depuis idle ou une autre interface graphique dans laquelle ça doit pouvoir se configurer, mais comment je ne sais pas... Ceci dit, je ne pense pas que ça soit un problème en-dehors d'un environement controlé de type windows d'un lycée (et là il faut juste expliquer à l'administrateur système comment faire), les utilisateurs de machine windows ont en général les droits sur leur machine.
Sinon, pour l'aide HTML, que penses-tu d'utiliser la variable d'environement XCAS_HELP? Est-ce modifiable par une commande python équivalente à export sous bash?
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: qcas et giacpy
oui ca marche avec un repetoire giacpy comme sous dossier (c'est a ca que sert le __init__.py du repertoire) (donc au contraire, il ne faut pas mettre cet __init__.py dans site-packages directement).
Si l'on n'a pas les droits on peut ouvrir avec son editeur le fichier exemple.py et faire enregistrer sous: monnouveaufichier.py a l'endroit voulu ou mettre les 2 premieres lignes si l'on s'en souvient.
dans cet exemple: le dossier giacpy etait sur une clef usb M:
oui normalement une variable d'environnement est lisible et modifiable par python mais je ne sais pas si c'est tres utile. (actuellement avec ma compil mingw32 le basedir retourne par giac est vide)
Fred
Si l'on n'a pas les droits on peut ouvrir avec son editeur le fichier exemple.py et faire enregistrer sous: monnouveaufichier.py a l'endroit voulu ou mettre les 2 premieres lignes si l'on s'en souvient.
dans cet exemple: le dossier giacpy etait sur une clef usb M:
oui normalement une variable d'environnement est lisible et modifiable par python mais je ne sais pas si c'est tres utile. (actuellement avec ma compil mingw32 le basedir retourne par giac est vide)
Fred
Re: qcas et giacpy
Voila, correction faite sur le README.python de la version windows, j'ai aussi mis un LISEZMOI.python. Elle s'appelle 1.1.0-4 parce que j'ai aussi corrige 2 bugs qui m'ont ete signales.
Le LISEZMOI.python (desole pour les accents:-()
Comment utiliser le moteur de calcul formel giac depuis python:
Frederic Han a ecrit une interface python/giac:
http://www.math.jussieu.fr/~han/xcas/giacpy
Ce plugin supporte les flottants multiprecisions, la Gnu Scientific Library et peut afficher des objets graphiques 2-d en utilisant qcas.
Installation: recuperez le fichier zip correspondant a votre version de Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Desarchivez-la dans le sous-repertoire Lib/site-packages du repertoire d'installation de Python.
Si vous ne pouvez pas ecrire sur le repertoire systeme Python d'installation, vous pouvez vous inspirer du fichier exemple.py (qui suppose que l'on a desarchive sur un support reconnu comme M: par windows)
Exemple de commandes: lancez l'interpreteur python puis tapez:
from giacpy import *
ifactor(2**128+1)
x=giac('x')
f=factor(x**10-1)
d=plot(sin(x))
d.qcas()
help("giacpy")
normal.help()
Le LISEZMOI.python (desole pour les accents:-()
Comment utiliser le moteur de calcul formel giac depuis python:
Frederic Han a ecrit une interface python/giac:
http://www.math.jussieu.fr/~han/xcas/giacpy
Ce plugin supporte les flottants multiprecisions, la Gnu Scientific Library et peut afficher des objets graphiques 2-d en utilisant qcas.
Installation: recuperez le fichier zip correspondant a votre version de Python
http://www.math.jussieu.fr/~han/xcas/giacpy/win32/
Desarchivez-la dans le sous-repertoire Lib/site-packages du repertoire d'installation de Python.
Si vous ne pouvez pas ecrire sur le repertoire systeme Python d'installation, vous pouvez vous inspirer du fichier exemple.py (qui suppose que l'on a desarchive sur un support reconnu comme M: par windows)
Exemple de commandes: lancez l'interpreteur python puis tapez:
from giacpy import *
ifactor(2**128+1)
x=giac('x')
f=factor(x**10-1)
d=plot(sin(x))
d.qcas()
help("giacpy")
normal.help()