2014-03-13 12 views
5

Ich benutze Py2exe, um eine Windows .exe von meinem Python-Skript zu erstellen. Ich hätte gerne die Copyright-Informationen sowie die Produktversion, Beschreibung usw. Ich konnte alles anzeigen lassen (in den Eigenschaften> Details der exe), mit Ausnahme der Copyright-Informationen. Ich habe die folgenden ohne Erfolg versucht:Wie bekomme ich py2exe um Copyright-Informationen zu erstellen?

from distutils.core import setup 
import py2exe 
import sys 

if len(sys.argv) == 1: 
    sys.argv.append("py2exe") 
    sys.argv.append("-q") 

class Target: 
    def __init__(self, **kw): 
     self.__dict__.update(kw) 
     # for the versioninfo resources 
     self.version = "1.0.0.0" 
     self.company_name = "ACME." 
     self.copyright = "Copyright (c) 2014 ACME." 
     self.name = "My Program" 

# create an instance of class Target 
# and give it additional needed info 
target = Target(
    description = "Test Description", 
    # this is your code file 
    script = "Main.py", 
    # this will form TestProgram.exe 
    dest_base = "TestProgram") 

setup(
    options = {'py2exe': {'bundle_files': 1, 
          'compressed': 1}}, 
    console = [{'script': "Main.py"}], 
    zipfile = None, 
) 

Bei Verwendung dieser Methode ich die Datei Beschreibung, Produktname und Produktversion in den Eigenschaften> DETAILS der EXE-Datei erhalten, aber mir fehlt das Copyright.

Antwort

1

Ich denke, es ist etwas wirklich falsch mit Ihrem Code, weil es die Dateibeschreibung, den Produktnamen und die Produktversion in der exe nicht aktualisiert. Doch dieser Code tut:

from distutils.core import setup 
import py2exe 

setup(
    options = {'py2exe': {'bundle_files': 1, 
          'compressed': 1}}, 
    console = [{'script': "Main.py"}], 
    zipfile = None, 
    version = "1.0.0.0", 
    name = "My Program", 
    description = "Test Description", 
) 

Um den Firmennamen und Copyright-Informationen zu setzen in die ausführbare Datei eine größere Herausforderung ist, und leider, ich weiß nicht, wie das noch zu tun. This könnte nützlich sein.

+0

Ya, war es etwas falsch mit meinem Code. Ich habe es herausgefunden und werde die Antwort posten. Ich habe auch versucht, was Sie in Ihrer Antwort angegeben haben, aber die Copyright-Informationen würden niemals angezeigt. Nur die Beschreibung, der Name und die Version würden angezeigt (auch wenn das Copyright angegeben wurde). – user2643864

+0

Ich bin interessiert, die Antwort zu sehen. – jgritty

+0

antwortete unten. – user2643864

5

Ich habe Folgendes zur Arbeit. Ich erkannte, dass ich das Ziel nicht richtig gesetzt hatte. An der Unterseite, wo ich gemacht habe console = [target].

from distutils.core import setup 
import py2exe 
import sys 

if len(sys.argv) == 1: 
    sys.argv.append("py2exe") 
    sys.argv.append("-q") 

class Target: 
    def __init__(self, **kw): 
     self.__dict__.update(kw) 
     self.version = "1.0.0.0" 
     self.company_name = "ACME." 
     self.copyright = "Copyright (c) 2014 ACME." 
     self.name = "My Program" 

target = Target(
    description = "Test Description", 
    script = "Main.py", 
    dest_base = "TestProgram") 

setup(
    options = {'py2exe': {'bundle_files': 1, 
          'compressed': True}}, 
    zipfile = None, 
    console = [target] 
) 
3

Die Antwort von user2643864 ist komplizierter als es sein muss. jgritty Antwort fast da ist, und braucht nur eine einfache Modifikation, Hinzufügen von ein paar Einträge in dem Wörterbuch console zugewiesen:

from distutils.core import setup 
import py2exe 

setup(
    options = {'py2exe': {'bundle_files': 1, 
          'compressed': 1}}, 
    console = [{ 
     'script': 'Main.py', 
     'copyright': 'Copyright (C) 2016 ACME Pty Ltd', 
     'company_name': 'ACME Pty Ltd', 
    }], 
    zipfile = None, 
    version = '1.0.0.0', 
    name = 'My Program', 
    description = 'Test Description', 
)