Sur un système Ubuntu (10.10), j'ai un package Python qui s'installe dans /usr/local/lib/python2.6/site-packages/
. Ce n'est pas contenu dans le chemin par défaut (sys.path). Comment ajouter ce répertoire au chemin?
La définition de la $PYTHONPATH
variable d'environnement est une solution, bien sûr, mais je cherche un moyen plus élégant de le faire. Par exemple, easy_install
y place également des packages installés, mon sys.path ressemble à ceci:
['', '/usr/local/lib/python2.6/dist-packages/keyring-0.5.1-py2.6.egg',
'/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk',
'/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload',
'/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/pymodules/python2.6',
'/usr/lib/pymodules/python2.6/gtk-2.0']
donc le chemin n'est évidemment pas celui par défaut intégré au binaire Python.
Existe-t-il un seul fichier de configuration contenant les entrées ci-dessus? Ou de quelle manière est-il possible de le modifier?
sitecustomize.py
quisite.py
essaie d'y importer et de le modifiersys.path
.Vous pouvez créer un nouveau fichier appelé
/etc/profile.d/local_python.sh
avec le contenuCe qui définira la
PYTHONPATH
variable pour tous les utilisateurs connectés sur votre système.la source
Je voudrais résumer mes conclusions sur la modification du chemin de python. Il y a deux façons de procéder.
PYTHONPATH
Tout fichier .pth qui se trouve sur le chemin par défaut (voir ci-dessous) verra son contenu inclus
sys.path
. Le format dudit fichier .pth est simple: un chemin (dossier) par ligne. Étonnamment, les chemins peuvent être absolus ou relatifs au fichier .pth .Le chemin par défaut est l'endroit où réside l'interpréteur et
<some-prefix>/lib/python<version>/site-packages
où il se<some-prefix>
trouve généralement/usr/
.PYTHONPATH
est la variable d'environnement de votre système d'exploitation. Sur les systèmes Unix, vous les répertoriez parenv
. La modification globale de ces variables se fait via des scripts .sh dans le/etc/profile.d/
dossier comme mentionné par @ TestUser16418.la source
Par exemple, si vous souhaitez importer le
suds
module disponible sous forme de.egg
fichier:la source