Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changer le path pour l'accès aux modules

3 réponses
Avatar
ast
bonjour

Mon path est:

>>> sys.path
[' ', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33',
'C:\\Python33\\lib\\site-packages', 'mypath']

Tout d'abord à quoi correspond le ' ' vide au tout début ?
Pourquoi y a t'il deux backslashs \\ entre les répertoires ?
(sous windows normalement c'est un seul)

Ensuite j'aimerais ajouter un répertoire de façon définitive,
donc pas en utilisant sys.path.append(... après chaque ouverture
d'un shell.

J'ai lu qu'il fallait changer une variable $PYTHONFILE
mais ou exactement ? Je suis sous Windows Vista.

Merci

3 réponses

Avatar
Alain Ketterlin
"ast" writes:

Mon path est:

sys.path






[' ', 'C:Python33Libidlelib', 'C:Windowssystem32python33.zip',
'C:Python33DLLs', 'C:Python33lib', 'C:Python33',
'C:Python33libsite-packages', 'mypath']

Tout d'abord à quoi correspond le ' ' vide au tout début ?



L'explication est dans la doc, à
https://docs.python.org/3.3/library/sys.html

| sys.path:
|
| A list of strings that specifies the search path for modules.
| Initialized from the environment variable PYTHONPATH, plus an
| installation-dependent default.
|
| As initialized upon program startup, the first item of this list,
| path[0], is the directory containing the script that was used to
| invoke the Python interpreter. If the script directory is not
| available (e.g. if the interpreter is invoked interactively or if
| the script is read from standard input), path[0] is the empty
| string, which directs Python to search modules in the current
| directory first. Notice that the script directory is inserted before
| the entries inserted as a result of PYTHONPATH.

Donc, cette chaîne vide (chez moi, c'est '', pas ' ') n'apparaît que
dans l'interpéteur, elle contient normalement le répertoire coura nt, ce
qui permet d'accéder aux modules du répertoire du script.

Pourquoi y a t'il deux backslashs entre les répertoires ?
(sous windows normalement c'est un seul)



Tu as eu la réponse dans c.l.p (et on en a parlé dernièremen t ici). Dans
la représentation des chaînes, le backslash est très spà ©cial. Les
détails sont à
https://docs.python.org/3.3/reference/lexical_analysis.html#string-and-byte s-literals

Ensuite j'aimerais ajouter un répertoire de façon définiti ve, donc pas
en utilisant sys.path.append(... après chaque ouverture d'un shell.
J'ai lu qu'il fallait changer une variable $PYTHONFILE mais ou
exactement ? Je suis sous Windows Vista.



Ah ben la réponse est plus haut, dans ce qui concerne sys.path (c'est
PYTHONPATH, pas PYTHONFILE -- y'a plein de conneries sur Internet, faut
pas croire n'importe qui comme ça).

Quant à faire ça sous Windows, je n'en ai pas la moindre idé e, mais,
chose incroyable, la documentation semble l'indiquer, à
https://docs.python.org/3.3/using/windows.html#excursus-setting-environment -variables

-- Alain.
Avatar
ast
"Alain Ketterlin" a écrit
dans le message de news:

merci
Avatar
ast
"ast" a écrit dans le message de news:5412f388$0$2022$
bonjour

J'ai lu qu'il fallait changer une variable $PYTHONPATH
mais ou exactement ? Je suis sous Windows Vista.




Pour ajouter une variable d'environnement sous Vista:

Panneau de configuration
Système et maintenance
Système
Paramètres systèmes avancés
Variables d'environnement.
Nouvelle

nom de la variable: PYTHONPATH
valeur de la variable: %PYTHONPATH%; C:chemin vers vos modules perso