Pyinstaller ne marche pas sous Linux

Résolu
DD -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir,
Regardez ce que l'on m'affiche quand j'essaie d'installer pyinstaller :

salim@helium:~$ pip3 install pyinstaller
Looking in indexes: https://pypi.org/simple https://www.piwheels.org/simple
Requirement already satisfied: pyinstaller in ./.local/lib/python3.7/site-packages (5.0.dev0)
Requirement already satisfied: altgraph in ./.local/lib/python3.7/site-packages (from pyinstaller) (0.17.2)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in ./.local/lib/python3.7/site-packages (from pyinstaller) (4.8.2)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from pyinstaller) (40.8.0)
Requirement already satisfied: pyinstaller-hooks-contrib>=2020.6 in ./.local/lib/python3.7/site-packages (from pyinstaller) (2022.0)
Requirement already satisfied: zipp>=0.5 in ./.local/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->pyinstaller) (3.6.0)
Requirement already satisfied: typing-extensions>=3.6.4; python_version < "3.8" in ./.local/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->pyinstaller) (4.0.0)
salim@helium:~$ pyinstaller brouillon2.py
bash: pyinstaller : commande introuvable

Avez vous une solution ?

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Bonjour,

    Pour trouver une commande, ton shell examine dans l'ordre les dossiers référencés dans la variable d'environnement
    PATH
    que tu peux afficher avec la commande :

    echo $PATH


    Exemple :

    (mando@silk) (~) $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


    Or tous ces dossiers requiert des droits administrateur (pour des raisons évidentes de sécurité) pour qu'on puisse y ajouter d'autres exécutables. Comme tu lances
    pip3
    sans
    sudo
    ,
    pip3
    n'a pas les droits pour installer
    pyinstaller
    dans
    /usr/local/bin
    (qui serait le dossier dans lequel l'exécutable serait installé si tu utilisais
    sudo pip3 install pyinstaller
    ). Il le déploie probablement dans genre
    ~/.local/bin
    ~
    désigne ton dossier personnel (e.g.
    /home/toto
    ). Si ce dossier n'est pas dans ton
    PATH
    , ton shell ne peut pas trouver cet exécutable car il ne cherchera pas dans ce dossier.

    Solution 1 : installe pyinstaller en root

    sudo pip3 install pyinstaller
    which pyinstaller


    Voici à quoi ce ressemble chez moi :

    (mando@silk) (~) $ which pyinstaller 
    /usr/local/bin/pyinstaller


    Solution 2 : ajoute ~/.local/bin dans ton PATH

    PATH=$PATH:$HOME/.local/bin
    which pyinstaller


    Tu peux ajouter à la fin du fichier
    ~/.bashrc
    la directive pour que ton
    PATH
    soit automatiquement corrigé les prochaines fois que tu lances un shell :

    export PATH=$PATH:$HOME/.local/bin


    Bonne chance
    0