Page 1 sur 1

[RESOLU] Erreur lors de la création d'un paquet via le générateur de paquet application portable Windows

Publié : 18 août 2023 - 16:11
par elux
Bonjour,
J'ai un message d'erreur lors de mes tentatives d'installation d'un paquet généré par la console WAPT.
Le produit est W11Classicmenu et pour l'installer, il faut copier le répertoire. Je suis donc passé par le choix "application portable Windows"
Malheureusement, voici le message d'erreur que j'ai quand je veux l'installer :

Code : Tout sélectionner

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4009, in install_wapt
    setup = import_setup(setup_filename)
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1525, in import_setup
    py_mod = imp.load_source(modulename, setupfilename)
  File "imp.py", line 171, in load_source
  File "<frozen importlib._bootstrap>", line 702, in _load
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 839, in exec_module
  File "<frozen importlib._bootstrap_external>", line 976, in get_code
  File "<frozen importlib._bootstrap_external>", line 906, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\WINDOWS\TEMP\wapt1fubbh_4\setup.py", line 26
    print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
                                            ^
SyntaxError: invalid syntax

SyntaxError: invalid syntax (setup.py, line 26)

Le setup.py me parait pourtant correct :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
dir_name = 'W11ClassicMenu'
app_name = 'W11ClassicMenu'
app_exe = 'W11ClassicMenu.exe'
app_dir = makepath(programfiles32, dir_name)
app_path = makepath(app_dir, app_exe)


def install():
    # Initializing variables

    # Installing software
    print("Installing: mgp-W11ClassicMenu")
    killalltasks(control.get_impacted_process_list())
    mkdirs(app_dir)
    if isdir(app_dir):
        remove_tree(app_dir)
    mkdirs(app_dir)
    print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
    copytree2(dir_name, app_dir)

    # Creating shortcuts
    create_desktop_shortcut(app_name, app_path)
    create_programs_menu_shortcut(app_name, app_path)


def uninstall():
    # Uninstalling software
    killalltasks(control.get_impacted_process_list())
    if isdir(app_dir):
        remove_tree(app_dir)

    # Removing shortcuts
    remove_desktop_shortcut(app_name)
    remove_programs_menu_shortcut(app_name)


def audit():
    # Declaring local variables
    package_version = '1.2.0.0'

    # Getting installed software version
    if isfile(app_path):
        installed_version = get_version_from_binary(app_path)
    else :
        installed_version = None

    # Auditing software
    print("Auditing: mgp-W11ClassicMenu")
    if installed_version is None or installed_version < package_version:
        print("%%s version is incorrect (%%s)" %% (app_name, installed_version))
        return "ERROR"
    else:
        print("%%s is installed in correct version (%%s)" %% (app_name, installed_version))
        return "OK"


Si vous avez une idée du problème...
Merci d'avance
Eric

Re: Erreur lors de la création d'un paquet via le générateur de paquet application portable Windows

Publié : 21 août 2023 - 09:19
par t.heroult
Bonjour

Dans les paquets WAPT, en général, on utilise un seul "%" et pas deux.

au lieu de

Code : Tout sélectionner

print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
j'essaierais plutôt avec

Code : Tout sélectionner

print("Copying directory: %s to: %s" % (dir_name, app_dir))
Cordialement,
Tom

Re: Erreur lors de la création d'un paquet via le générateur de paquet application portable Windows

Publié : 21 août 2023 - 10:54
par blemoigne
Bonjour,
Python recommande même d'utiliser la syntaxe suivante maintenant :

Code : Tout sélectionner

print(f"Copying directory: {dir_name} to:  {app_dir}")
un f comme "format" avant la chaîne de caractères et des accolades pour chaque variable.

Bien cordialement,
Bertrand

Re: Erreur lors de la création d'un paquet via le générateur de paquet application portable Windows

Publié : 28 août 2023 - 15:48
par elux
Bonjour,
En effet ça a résolu le problème, merci bien !
Résolu