我正在使用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,
)
当使用这种方法时,我在.exe的属性〉详细信息中获得了文件描述,产品名称和产品版本,但我缺少版权。
4条答案
按热度按时间nnsrf1az1#
我得到了以下工作。我意识到我没有设置正确的目标。在底部修复我做的
console = [target]
。vx6bjr1n2#
user2643864的答案比实际需要的要复杂得多。jgritty的答案差不多了,只需要简单的修改,在分配给
console
的字典中添加几个条目:yks3o0rb3#
我认为您的代码确实有问题,因为它没有更新exe中的文件描述、产品名称和产品版本。但是,此代码可以:
将公司名称和版权信息放入可执行文件中更具挑战性,不幸的是,我还不知道如何做到这一点。This可能会有用。
des4xlb04#
2023年更新。有一个新的freeze API,这是编译代码的新方法。我发现这是唯一可靠的方法,我可以得到版权和产品版本出现使用Python 3. 11+。