pythonpy2exe一次将两个py文件编译成两个单独的exe文件

2024-09-23 10:28:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用这个安装脚本来编译一个py文件到exe。在

# -*- coding: utf-8 -*-
from distutils.core import setup
import py2exe
import sys 

import os
dataFiles = []

sampleDir = r'.\\lang'
for root, dirs, files in os.walk(sampleDir):
    sampleList = []
    if files:
        for filename in files:
            #ignore SVN dirs
            if ".svn" not in root:
                sampleList.append(os.path.join(root, filename))
        if sampleList:
            dataFiles.append((root, sampleList))                                              

class Target:
       def __init__(self, **kw):
           self.__dict__.update(kw)
           self.version = "1.5.5.000"
           self.company_name = "company"
           self.copyright = 'Copyright (c) '
target = Target(
       script = "script.py",
       icon_resources=[(1, 'ico.ico')],
       )




setup(
    name = 'PROGNAME',
    author='me',
    author_email='me@me.com', 
    description = 'desc',

    windows = [target],

    options = {
                  'py2exe': {
                      'packages': 'encodings, kinterbasdb',
                      'includes': 'cairo, pango, pangocairo, atk, gobject, gio, glib, gtk',               
                  }
              },

    data_files=dataFiles,
)

但是现在我有两个py文件,我想一次编译它,但是每个文件都应该有:

  • 不同的程序名(当我右键单击“属性”中的“程序”时)
  • 不同的文件名
  • 不同的文件版本
  • 不同的文件图标

我应该如何更改我的设置脚本,以便能够立即执行此操作?在


Tags: 文件inpyimportself脚本ifos
1条回答
网友
1楼 · 发布于 2024-09-23 10:28:09

我知道怎么做了!希望这对每个人都有帮助:

# -*- coding: utf-8 -*-
from distutils.core import setup
import py2exe
import sys    

import os
dataFiles = []

sampleDir = r'.\\lang'
for root, dirs, files in os.walk(sampleDir):
    sampleList = []
    if files:
        for filename in files:
            #ignore SVN dirs
            if ".svn" not in root:
                sampleList.append(os.path.join(root, filename))
        if sampleList:
            dataFiles.append((root, sampleList))                                                

class Target:
       def __init__(self, **kw):
           self.__dict__.update(kw)

target = Target(
       script = "script.py",
       icon_resources=[(1, 'ico.ico')],
       version = "1.5.5.000",
       company_name = "company",
       copyright = 'Copyright (c) ',
       name = 'PROGNAME',
       )

target2 = Target(
       script = "script2.py",
       icon_resources=[(1, 'ico.ico')],
       version = "1.0.0.000",
       company_name = "company",
       copyright = 'Copyright (c) ',
       name = 'SECOND PROGNAME',
       )


setup(
    author='me',
    author_email='me@me.com', 
    description = 'desc',

    windows = [target, target2],

    options = {
                  'py2exe': {
                      'packages': 'encodings, kinterbasdb',
                      'includes': 'cairo, pango, pangocairo, atk, gobject, gio, glib, gtk',               
                  }
              },

    data_files=dataFiles,
)

相关问题 更多 >