Pagina 1 di 1

[RISOLTO] Errore durante la creazione di un pacchetto tramite il generatore di pacchetti per applicazioni portatili di Windows

Pubblicato: 18 agosto 2023 - 16:11
di elux
Buongiorno,
Ricevo un messaggio di errore quando provo a installare un pacchetto generato dalla console WAPT.
Il prodotto è W11Classicmenu e per installarlo è necessario copiare la directory. Ho quindi utilizzato l'opzione "Applicazione portatile Windows"
Purtroppo, ecco il messaggio di errore che ricevo quando provo a installarlo:

Codice: Seleziona tutto

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)

Il file setup.py mi sembra corretto:

Codice: Seleziona tutto

# -*- 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"


Se hai idea di quale potrebbe essere il problema...
grazie in anticipo
Eric

Re: Errore durante la creazione di un pacchetto tramite Windows Portable Application Package Generator

Pubblicato: 21 agosto 2023 - 09:19
di t.heroult
Buongiorno

Nei pacchetti WAPT, in genere viene utilizzato solo un "%" e non due.

invece di

Codice: Seleziona tutto

print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
Proverei con

Codice: Seleziona tutto

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

Re: Errore durante la creazione di un pacchetto tramite Windows Portable Application Package Generator

Pubblicato: 21 agosto 2023 - 10:54
di blemoigne
Buongiorno,
Python consiglia addirittura di utilizzare la seguente sintassi:

Codice: Seleziona tutto

print(f"Copying directory: {dir_name} to:  {app_dir}")
una f per "formato" prima della stringa e parentesi graffe per ogni variabile.

Distinti saluti,
Bertrand

Re: Errore durante la creazione di un pacchetto tramite Windows Portable Application Package Generator

Pubblicato: 28 agosto 2023 - 15:48
di elux
Ciao,
sì, il problema è stato risolto, grazie mille!
Risolto