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:
python
tard et j'aurais bien aimé le savoir avant de fairesudio
piping. Merci pour cela.Généralement, dans une distribution, il est recommandé d'utiliser le gestionnaire de packages de la distribution. Vous pouvez bien sûr installer des choses en utilisant pip (ou, dans le monde perl, cpan), ou les compiler et les installer vous-même. Toutefois, lorsque vous effectuez cette opération, le gestionnaire de packages de la distribution ne les connaît pas et ne peut pas gérer les dépendances ni les mises à jour correspondantes.
L'utilisation de pip est à peu près équivalente à la compilation et à l'installation de votre propre paquet. Faites-le si vous en avez besoin, mais préférez le gestionnaire de paquets de la distribution.
la source
pip
(au moins globalement, viasudo
ou en tant que root) - Je viens de recevoir quelquessite-package/...
erreurs déjà existantes lorsque j'aipacman
essayé d'installer des dépendancesLa bonne manière pour ArchLinux
La bonne façon d’installer les paquets PYTHON dans ArchLinux utilise PACMAN! Pour installer des paquets sur Python3, vous devez utiliser
Si vous souhaitez installer des packages à partir de Python2, vous devez utiliser
La plupart des packages python se trouvent dans les référentiels ArchLinux et les packages qui ne le sont pas dans AUR (ArchLinux User Repositories). Pour ces packages, vous devez télécharger le fichier PKGBUILD et le compiler. Ensuite, vous devez utiliser PACMAN pour terminer l’installation.
La deuxième bonne façon pour ArchLinux
Lorsque le package n'est pas dans l'AUR ou que PKGBUILD ne fonctionne pas, vous pouvez utiliser PIP pour l'installer dans Python3.
ou Python2
Vous pourriez donner une chance à
virtualenv
ou mêmeconda
Sur Arch, vous pouvez également utiliser VirtualEnvironments. Cela peut apporter de la portabilité à votre code et conserver les anciens packages. Installez-le avec
et essayez ceci
Lorsque vous créez cet environnement
yourenv
, vous devezpip
installer des packages uniquement dans cet environnement et non dans le système entier.Ces autres liens peuvent vous être utiles pour en savoir plus sur la gestion de paquets sous Linux avec
conda
ouvirtualenv
:Installation de paquets Python à partir d'un bloc-notes Jupyter
Code Python sur ArchLinux
Si vous suivez ces règles, votre ArchLinux ne cassera pas et n'aura pas de problèmes de dépendance entre PACMAN et PIP.
J'espère que c'est utile!
la source
Pour certains paquets (ceux que je ne veux probablement pas pirater), je crée mon propre paquet en utilisant ceci:
https://github.com/bluepeppers/pip2arch
puis construisez et installez le produit PKGBUILD.
Je laisse virtualenvs pour les paquets que je pourrais vouloir modifier ou pirater.
la source
En plus des autres réponses ici, consultez le
python-virtualenv
package. Cela peut être très utile si vous développez plusieurs projets avec des dépendances différentes avec des numéros de version incompatibles.https://wiki.archlinux.org/index.php/Python_VirtualEnv
Notez également qu’il existe deux variantes de pip et virtualenv. Un pour Python 2 et un pour Python 3. Si l'installation échoue avec une erreur de syntaxe, vous essayez peut-être avec une version incorrecte.
la source