2014-03-13 39 views
5

我使用Py2exe從我的Python腳本創建Windows .exe。我想擁有版權信息以及產品版本,說明等等。除了版權信息,我已經能夠顯示所有內容(在exe的「屬性」>「詳細信息」中)。我試過沒有成功如下:如何讓py2exe建立版權信息

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, 
) 

使用此方法時,我得到的文件說明,產品名稱和產品版本中的.exe文件的屬性>的細節,但我缺少的版權。

回答

1

我認爲你的代碼有些問題,因爲它不會更新exe文件中的文件描述,產品名稱和產品版本。然而,這段代碼:

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", 
) 

把公司名稱和版權信息到可執行文件是更具挑戰性,不幸的是,我不知道該怎麼做呢。 This可能是有用的。

+0

雅,我的代碼出了問題。我計算出來並將發佈答案。我也嘗試了您在答案中提供的內容,但版權信息永遠不會顯示。只有描述,名稱和版本會顯示(即使版權已被指定)。 – user2643864

+0

我很想看到答案。 – jgritty

+0

在下面回答。 – user2643864

5

我得到以下工作。我意識到我沒有設定目標。固定在我做的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

user2643864的回答比它需要更復雜。 jgritty的回答幾乎就在那裏,只需要簡單的修改,在字典中添加了幾個條目分配到console

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', 
)