Si vous n'avez pas besoin des packages python pour tous les utilisateurs, vous pouvez les installer chez vous de la manière suivante:
pip install --user packagename
L'installation dans votre maison n'entrera pas en conflit avec le gestionnaire de paquets.
Par défaut pip install --user
va installer dans votre répertoire "site utilisateur". Habituellement , c'est quelque chose comme: /home/lesmana/.local/lib/python3.6/site-packages
.
La commande suivante imprimera, entre autres, votre emplacement "site utilisateur":
python -m site
Pour personnaliser l'emplacement d'installation:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
cela installera tout sous $HOME/some/dir
courir:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
Voir le manuel pip pour plus d'informations.
si vous voulez que le paquet python soit destiné à tous les utilisateurs, le meilleur endroit pour l’installer est /opt
. par exemple comme ceci:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(notez les manquants --user
)
et pour courir, comme ci-dessus:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Explication d'arrière-plan: les /opt
distributions gnu / linux reconnaissent généralement que l'utilisateur local ou l'administrateur système peut installer ses propres fichiers. en d'autres termes: le gestionnaire de paquets des distributions ne touche généralement pas /opt
. ceci est plus ou moins normalisé dans la norme de hiérarchie des systèmes de fichiers
Pour le confort des utilisateurs, vous voudrez toujours écrire un script de wrapper et le placer dans /bin
ou /usr/bin
. Cela risque toujours d'entrer en collision avec le gestionnaire de paquet de distribution, mais au moins, il ne s'agit que d'un fichier de script d'encapsulation. Donc, les dommages qui pourraient être causés sont minimes. Vous pouvez nommer le script d'encapsulation de la manière suivante local-foo
ou custom-foo
pour réduire davantage le risque de collision avec le gestionnaire de packages de distribution.
Sinon, vous pouvez modifier PATH
pour inclure /opt/bin
et y placer votre script wrapper. Mais ceci nécessite à nouveau que vous modifiiez un (ou certains) fichier (s) système (s) où PATH
est (sont) défini (s) et qui peut à nouveau être écrasé (s) par le gestionnaire de package de distribution.
En bref: si vous souhaitez installer pour tous les utilisateurs, faites-le ensuite /opt
. Où vous placez le script wrapper pour plus de confort est un jugement.
Plus d'informations sur /opt
et la norme de hiérarchie du système de fichiers: