TL; DR: appeler site.addsitedir pour traiter les fichiers .pth
Je ne suis pas sûr OS X, mais PYTHONPATH et package de site sont en fait assez indépendant où il vient d'augmenter sys. chemin.
Try this:
set PYTHONPATH somehow (OS dependent)
python -c "import sys; print '\n'.join(sys.path); print sys.exec_prefix; print sys.prefix"
python -S -c "import sys; print '\n'.join(sys.path);print sys.exec_prefix; print sys.prefix"
Sur ma boîte Linux, le PYTHONPATH fait partie de la sortie deux fois - même si -S passer dans le second skips d'exécution du module d'importation du site. Maintenant, ce que fait site.module prend en fait des combinaisons de préfixes (sys.exec_prefix, sys.prefix) et OS dépendants (pour linux: lib/python2.7/dist-packages), vérifie si l'une des combinaisons est un répertoire existant, et le cas échéant le traite (analyse des fichiers .pth inclus)
Le code est dans le site site.py module - getsitepackages().
def getsitepackages():
"""Returns a list containing all global site-packages directories
(and possibly site-python).
For each directory present in the global ``PREFIXES``, this function
will find its `site-packages` subdirectory depending on the system
environment, and will return a list of full paths.
"""
sitepackages = []
seen = set()
for prefix in PREFIXES:
if not prefix or prefix in seen:
continue
seen.add(prefix)
if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/':
sitepackages.append(os.path.join(prefix, "lib",
"python" + sys.version[:3],
"site-packages"))
sitepackages.append(os.path.join(prefix, "lib", "site-python"))
else:
sitepackages.append(prefix)
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
(...)
Cette fonction retourne finalement une liste, et pour chaque élément de cette fonction de addsitedir liste est appelée - et celui-là, vous avez la logique pour obtenir des fichiers .pth travail. En bref, pour traiter les fichiers .pth, appelez site.addistedir dans votre script d'entrée de gamme. Vous pouvez également envisager de l'avoir dans votre sitecustomize.py - assurez-vous simplement que votre distribution Python n'en a pas déjà.