MacPython

  • Créateur du sujet Créateur du sujet Garp
  • Date de début Date de début

Garp

Membre enregistré
5 Mai 2004
4
0
Bonjour, je viens juste de passer sur mac (avant j'etais sous xp) et je suis un peu perdu.

j'ai installe MacPython, et j'aimerais savoir comment sont initialisees les variables

d'environnements, comme les chemins des modules...

y a t il une methode generique pour setter les variables d'environnement d'une appli mac?

merci de votre aide.
 
Je ne connais pas tellement Python. Mais, au risque de dire une bêtise, les variables d'environnements se définissent comme sur tout Unix, c'est à dire avec la commande shell "setenv".
 
ok pour le setenv, mais c'est plus quand je lance python depuis un terminal.

Avec MacPython, j'utilise une appli qui s'appelle IDE(interface graphique, commande interactive), et je la lance directement depuis le dock.

je n'ouvre donc aucun terminal.

comment setter ses variables d'environnement dans ce cas?
 
Python 2.3 (#1, Sep 13 2003, 00:49:11)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1495)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from os import environ
>>> print environ
{'PERL5LIB': '/sw/lib/perl5', 'TERM': 'xterm-color', 'SHELL': '/bin/bash', 'INFOPATH': '/sw/share/info:/sw/info:/usr/share/info', 'LD_SEG_ADDR_TABLE': '/sw/var/lib/fink/prebound/seg_addr_table', 'GDK_USE_XFT': '1', 'SECURITYSESSIONID': '20e8b0', 'LD_PREBIND_ALLOW_OVERLAP': '1', 'TERM_PROGRAM_VERSION': '100', 'GL_ENABLE_DEBUG_ATTACH': 'YES', '__CF_USER_TEXT_ENCODING': '0x1F5:0:1\n', 'SHLVL': '1', 'PWD': '/Volumes/Maison/Users/Gallenza', 'LOGNAME': 'Gallenza', 'USER': 'Gallenza', 'MANPATH': '/sw/share/man:/usr/share/man:/usr/X11R6/man', 'HOME': '/Volumes/Maison/Users/Gallenza', 'PATH': '/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin', 'LD_PREBIND': '1', '_': '/usr/bin/python', 'TERM_PROGRAM': 'Apple_Terminal'}
 
ooo.gif
desole, mais je ne suis pas sur de saisir le sens de ta reponse.

peux tu me dire ce qu'il se passe lorsque je lance une appli depuis le dock, ou l'appli trouve t elle les variables d'environnement necessaires a son lancement?
S'agit il du meme fichier que lors d'un lancement depuis le terminal?
tongue.gif
 
MacPython IDE 1.0.1
>>> from os import environ
>>> print environ
{'__CF_USER_TEXT_ENCODING': '0x1F5:0:1\n', 'SHELL': '/bin/bash', 'PYTHONPATH': '/Applications/MacPython-2.3/PythonIDE.app/Contents/Resources', 'SECURITYSESSIONID': '20eaa0', 'GL_ENABLE_DEBUG_ATTACH': 'YES', 'PYTHONEXECUTABLE': '/Applications/MacPython-2.3/PythonIDE.app/Contents/MacOS/Python', 'DYLD_LIBRARY_PATH': '/Applications/MacPython-2.3/PythonIDE.app/Contents/Frameworks', 'USER': 'Gallenza', 'DYLD_FRAMEWORK_PATH': '/Applications/MacPython-2.3/PythonIDE.app/Contents/Frameworks', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin:/Volumes/Maison/Users/Gallenza', 'HOME': '/Volumes/Maison/Users/Gallenza'}
>>> print environ['SHELL']
/bin/bash
>>> print environ['HOME']
/Volumes/Maison/Users/Gallenza

Tu développes en Python? c'est un langage multiplateforme donc la question n'est pa sde savoir comment ça se fait pour telle ou telle plateforme...
Le dictionnaire environ du module os te permet d'avoir acces à toutes les variables d'environnement du shell où on a démarrer python (et donc ton application en python) quel que soit l'os, et c'est un dictionnaire, donc tu peux le modifier.
 
je suis assez d'accord avec toi, l'important en python n'est pas la plate forme... encore faudrait il que j'arrive a faire marcher mes scripts sur mac.
frown.gif


dans les exemples que tu as poste, tu remarqueras que tes variables d'environnements ne sont pas les meme suivant que tu es sous IDE ou depuis un shell, c'est un truc que je ne sais pas encore expliquer en tant que nouveau venu sur l'environnement mac, peut etre pourrais tu m'expliquer d'ou provient la difference.

sleep.gif
 
bah en fait les variables d'environnement dépendent du shell d'où tu lances le truc...donc tu voies par exemple quand tu lances python du terminal tu as une variable 'TERM_PROGRAM': 'Apple_Terminal' dont il me parait logique qu'elle n'existe pas quand tu le lance du dock...par contre toutes les variables d'envionnement importantes ont l'air bien présentes dasn les deux cas (HOME,SHELL,PYTONPATH,PATH....).
Mais je ne peux pas t'en dire plus.