IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Erreur en utilisant Pyinstaller et pysftp [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 45
    Par défaut Erreur en utilisant Pyinstaller et pysftp
    Bonjour à tous,

    J'ai le code suivant, qui me permet d'uploader des fichiers sur un serveur SFTP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    import sys
    import pysftp
    import os
    import datetime
     
     
    def Upload_file_sftp(host, local_path, remote_path, sftp_configuration):
        if File_Exist(local_path):
            cnopts = pysftp.CnOpts()
            cnopts.hostkeys = None
            try:
                with pysftp.Connection(host=host, username=sftp_configuration["user"], password=sftp_configuration["psswd"],
                                       cnopts=cnopts) as sftp:
                    try:
                        sftp.put(local_path, remote_path)
                    except:
                        # Error using Push function
                        e = sys.exc_info()
                        write_log("Upload folder failure : " + str(e))
            except:
                e = sys.exc_info()
                write_log("Connection failure : " + str(e))
        else:
            #Error the file does not exist
            write_log("The file does not exist")
     
    def File_Exist(Path):
        return os.path.exists(Path)
     
     
    def write_log(errorString):
        fichier = open(LogPath, "a")
        fichier.write("\n" + str(datetime.datetime.now()) + " : " + errorString)
        fichier.close()
     
     
    if __name__ == '__main__':
        LogPath = os.getcwd()+'\log.txt'  # The log file will be in the same folder than the .exe
        write_log("Lancement du Script")
        sftp_configuration = {"user": "User", "psswd": "Password"}  # Can be change Here
     
        # Create a Name Folder base en Day -1
        date_du_fichier = datetime.date.today() - datetime.timedelta(1)
        nom_du_fichier = date_du_fichier.strftime('%d-%m-%Y') + ".zip"
        ##
     
        Chemin_du_fichier = 'Z:/mondossierlocal/'  # Can be change here take care of \ change by /
        Upload_file_sftp('IP', Chemin_du_fichier + nom_du_fichier,
                          'remotepath' + nom_du_fichier, sftp_configuration)
    Tout fonctionne parfaitement sur PyCharm,
    J'utilise pyinstaller pour l'utiliser avec le tache planificateur de windows ==> Pas d'erreur particulier.

    Au moment de lancer mon point exe, j'ai juste une fenêtre windows qui s'ouvre et se referme. Jusque la, je suis d'accord, même si la fenêtre devrai s'ouvrir plus longtemps
    Dans mon script je dois écrire dans un fichier de log, se trouvant dans le même dossier que le point exe, mais ce fichier ne se crée pas.
    J'ai donc lancé le .exe directement dans ma console windows, voila le résultat :
    Nom : Capture.PNG
Affichages : 272
Taille : 16,8 Ko

    j'ai copié/collé le dossier du site-package dans le dossier dist, mais j’obtiens encore une erreur sur pyramido. J'ai donc copié/collé ce dossier mais j’obtiens encore une erreur sur bcrypt,
    J'ai donc décidé de copier/coller tout le site-package et j'obtiens l'erreur suivante :

    Nom : Capture_1.PNG
Affichages : 275
Taille : 34,6 Ko

    Je n'ai plus d'idée, un petit coup de main serait le top merci,

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 756
    Par défaut
    Salut,

    Citation Envoyé par loic3484 Voir le message
    Je n'ai plus d'idée, un petit coup de main serait le top merci,
    pyinstaller fait de son mieux pour inclure les bibliothèques externes utilisées par votre application. Quand il n'y arrive pas, il faut l'aider avec des informations dans le setup.py.

    Voir la documentation et/ou les discussions trouvées sur Internet qui montre que faire dans ces cas là.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 45
    Par défaut
    Bonjour,

    Merci pour ta réponse,

    J'ai rajouté mon fichier setup.py en spécifiant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
          packages=setuptools.find_packages(exclude=['test']),
          install_requires=['pysftp'],
    En suivant les tutos, j'ai voulu exécuter le setup.py en mode test

    et voila le retour que j'ai :

    Nom : Capture.PNG
Affichages : 240
Taille : 3,5 Ko

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 45
    Par défaut
    ReBonjour,

    J'ai corrigé ce problème de wheel,
    je l'avais désinstallé de mon pc.

    Mais je n'arrive toujours pas a faire marcher mon .exe.

    Loic,

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 45
    Par défaut
    Problème résolut en utilisant le setup.py comme écrit ci-dessus.
    j'avais un autre problème, je pense de mon pyinstaller, j'ai fait un uninstall et install et tout marche parfaitement.
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Juste pour info, je préfère utiliser un fichier .bat pour ma part, ça me permet notamment d'utiliser seven zip...
    C'est probablement démodé, mais je trouve ça pratique et efficace.
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    set filename=mon_script
    pyinstaller  -D -w --icon=mon_icone.ico --hidden-import=notif --hidden-import=locked --hidden-import=powerstate --exclude-module=numpy --exclude-module=cv2 --exclude-module=win32com --exclude-module=psutil %filename%.py 
    move dist\%filename% %filename%
    @RD /S /Q dist
    @RD /S /Q build
    @RD /S /Q __pycache__
    "%ProgramFiles%\7-Zip\7z.exe" a -tzip %filename%.zip %filename%
    "%ProgramFiles%\7-Zip\7z.exe" a -tzip %filename%.zip "install.bat"
    "%ProgramFiles%\7-Zip\7z.exe" a -tzip %filename%.zip "son.mp3"
    "%ProgramFiles%\7-Zip\7z.exe" a -tzip %filename%.zip "mon_icone.ico"
     
     
    @RD /S /Q %filename%
    del %filename%.spec
    pause

    Et le fichier install.bat qui dézippe tout seul l'archive, installe là où il faut les fichiers et crée les raccourcis là où c'est nécessaire.
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    @echo OFF
    set filename=mon_script
     
    if not exist "%USERPROFILE%\%filename%" mkdir "%USERPROFILE%\%filename%"
     
    for /F "delims=" %%I IN (' dir /b /s /a-d %filename%.zip ') DO (
       "%ProgramFiles%\7-Zip\7z.exe" x -aoa -y -x!"%filename%.exe" -x!"install.bat" -o"%USERPROFILE%\%filename%\" "%%I" 
    )
     
    set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
    echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
    echo sLinkFile = "%USERPROFILE%\Desktop\%filename%.lnk" >> %SCRIPT%
    echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
    echo oLink.TargetPath = "%USERPROFILE%\%filename%\%filename%\%filename%.exe" >> %SCRIPT%
    echo oLink.Save >> %SCRIPT%
    cscript /nologo %SCRIPT%
    del %SCRIPT%
     
    set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
    echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
    echo sLinkFile = "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\%filename%.lnk" >> %SCRIPT%
    echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
    echo oLink.TargetPath = "%USERPROFILE%\%filename%\%filename%\%filename%.exe" >> %SCRIPT%
    echo oLink.Save >> %SCRIPT%
    cscript /nologo %SCRIPT%
    del %SCRIPT%
     
    start %USERPROFILE%\%filename%\%filename%\%filename%.exe
    Dernière modification par Invité ; 27/05/2021 à 21h53. Motif: Coloration syntaxique [CODE=Batch] … [/CODE]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] erreur avec utilisation fonction mail
    Par taka10 dans le forum Langage
    Réponses: 7
    Dernier message: 12/07/2006, 16h19
  2. Réponses: 6
    Dernier message: 03/07/2006, 08h26
  3. [FTP] Erreur d'utilisation de require_once
    Par dialydany dans le forum Langage
    Réponses: 14
    Dernier message: 06/11/2005, 17h46
  4. Réponses: 3
    Dernier message: 11/10/2005, 23h27
  5. Erreur en utilisation non-initialiser motif
    Par moniphal dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2005, 13h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo