3 votes

Est-il possible d'utiliser plusieurs chemins pour PYTHONPATH sous Windows ?

J'ai une machine virtuelle propre avec XP SP3 32-bit et ActivePython 2.7.2 32-bit community edition, le répertoire actuel est " C:\test ". J'ai placé sitecustomize.py avec "print('dir1')" code indie " C:\test\dir1 "et sitecustomize.py avec "print('dir2' )" code indie " C:\test\dir2 ".

Si i fixe PYTHONPATH a dir1 o dir2 , correspondant à sitecustomize.py est exécuté :

C:\test> set PYTHONPATH=C:\test\dir1\
C:\text> python
dir1
>>>exit()
C:\test> set PYTHONPATH=C:\test\dir2\
C:\text> python
dir2

Mais si j'ajoute les deux répertoires à pythonpath, seul sitecustomize.py de premier dir est exécuté :

C:\test> set PYTHONPATH=C:\test\dir1\;C:\test\dir2\
C:\text> python
dir1
>>>exit()
C:\test> set PYTHONPATH=C:\test\dir2\;C:\test\dir1\
C:\text> python
dir2

Est-il possible d'avoir plusieurs répertoires dans PYTHONPATH et de multiples sitecustomize.py ou je suis limité à un seul ? La documentation indique que je peux avoir plusieurs répertoires dans PYTHONPATH mais il ne dit rien à propos de sitecustomize.py

3voto

NPE Points 169956

Oui, vous pouvez répertorier plusieurs répertoires dans PYTHONPATH .

sitecustomize est un module qui est automatiquement importé au démarrage de l'interpréteur. Par conséquent, s'il y a plusieurs sitecustomize.py sur votre PYTHONPATH Seul le premier d'entre eux sera chargé.

La procédure est décrite dans le la documentation :

Après ces manipulations, on tente d'importer un module nommé sitecustomize qui peut effectuer des personnalisations arbitraires spécifiques à un site. Il est généralement créé par un administrateur système dans le répertoire site-packages. Si cette importation échoue avec un ImportError elle est ignorée silencieusement.

1voto

srhegde Points 133

J'utilise parfois sys.path.append() pour ajouter des chemins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X