Seite 1 von 1

[GELÖST] Fehler beim Erstellen eines Pakets über den Windows Portable Application Package Generator

Veröffentlicht: 18. August 2023 – 16:11 Uhr
von elux
Guten Morgen,
Ich erhalte eine Fehlermeldung, wenn ich versuche, ein von der WAPT-Konsole generiertes Paket zu installieren.
Das Produkt heißt W11Classicmenu, und um es zu installieren, muss man das Verzeichnis kopieren. Deshalb habe ich die Option „Portable Windows-Anwendung“ verwendet
Leider erhalte ich beim Installationsversuch folgende Fehlermeldung:

Code: Alle auswählen

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)

Die setup.py-Datei scheint mir korrekt zu sein:

Code: Alle auswählen

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


Falls Sie eine Ahnung haben, woran das Problem liegen könnte...
Dank im Voraus
Eric

Betreff: Fehler beim Erstellen eines Pakets mit dem Windows Portable Application Package Generator

Veröffentlicht: 21. August 2023 - 09:19 Uhr
von t.heroult
Guten Morgen

In WAPT-Paketen wird im Allgemeinen nur ein "%" verwendet, nicht zwei.

anstatt

Code: Alle auswählen

print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
Ich würde es versuchen mit

Code: Alle auswählen

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

Betreff: Fehler beim Erstellen eines Pakets mit dem Windows Portable Application Package Generator

Veröffentlicht: 21. August 2023 - 10:54 Uhr
von Blemoire
Guten Morgen,
Python empfiehlt mittlerweile sogar die Verwendung der folgenden Syntax:

Code: Alle auswählen

print(f"Copying directory: {dir_name} to:  {app_dir}")
ein f für "Format" vor der Zeichenkette und geschweifte Klammern für jede Variable.

Beste grüße,
Bertrand

Betreff: Fehler beim Erstellen eines Pakets mit dem Windows Portable Application Package Generator

Veröffentlicht: 28. August 2023 – 15:48 Uhr
von elux
Hallo,
ja, das hat das Problem gelöst, vielen Dank!
Erledigt