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 --userva 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 /optdistributions 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 /binou /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-fooou custom-foopour réduire davantage le risque de collision avec le gestionnaire de packages de distribution.
Sinon, vous pouvez modifier PATHpour inclure /opt/binet y placer votre script wrapper. Mais ceci nécessite à nouveau que vous modifiiez un (ou certains) fichier (s) système (s) où PATHest (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 /optet la norme de hiérarchie du système de fichiers: