我正在使用Py2exe从我的Python脚本创建Windows .exe。我想拥有版权信息以及产品版本,描述等。我已经能够显示所有内容(在属性> exe的详细信息中),版权信息除外。我试过以下但没有成功:
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,
)
使用此方法时,我会在PROPERTIES>中获得文件描述,产品名称和产品版本。 .exe的详细信息,但我没有版权。
答案 0 :(得分: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]
)
答案 1 :(得分: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',
)
答案 2 :(得分: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可能有用。