Question

I am using this setup script to compile one py file to 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,
)

But now I have two py files and I would like to compile it at once but each file should have:

  • different program name (when I right click on program in Properties)
  • different file name
  • different file version
  • different file icons

How should I change in my setup script to be able to do this at once?

Was it helpful?

Solution

I found out how to do it! Hope this helps to everyone:

# -*- 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,
)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top