Py2exe issue

Mike Driscoll kyosohma at gmail.com
Fri Jan 2 11:26:13 EST 2009


On Jan 2, 10:19 am, rcmn <rcm... at gmail.com> wrote:
> I'm using 2.6 (the issue was the same with 2.5)
>
> script.py:
>
> [code]import re
>
> from optparse import OptionParser
> parser = OptionParser()
> parser.add_option("-f", "--file", action="store", type="string",
> dest="filename")
> parser.add_option("-o", "--output", action="store", type="string",
> dest="fileout")
> (options, args) = parser.parse_args()
>
> from subprocess import Popen, PIPE
> if options.fileout:
>         fileoutput = options.fileout
>         output = open(fileoutput, "w")
> else:
>         output = open("output.txt", "w")
> if options.filename:
>         rawfile = options.filename
>         file = open(rawfile)
> else:
>         print "type -h for help"
>         exit()
>
> from threading import Thread
> class Pinger(object):
>     def __init__(self, hosts):
>         for host in hosts:
>             pa = PingAgent(host)
>             pa.start()
>
> class PingAgent(Thread):
>     def __init__(self, host):
>         Thread.__init__(self)
>         self.host = host
>
>     def run(self):
>         p = Popen('ping -n 1 ' + self.host, stdout=PIPE, stderr=True)
>         m = re.search('Average = (.*)ms', p.stdout.read())
>         if m:
>                         output.write (self.host+",pingable\n")
>         else:
>                         output.write (self.host+",not pingable\n")
>
> if __name__ == '__main__':
>         pinglist = []
>         for line in file:
>                 pinglist.append(line.strip("\n"))
>         Pinger(pinglist)[/code]
>
> py2exe setup.py :
>
> [code]from distutils.core import setup
> import py2exe, sys, os
>
> sys.argv.append('py2exe')
>
> setup(
>      options = {'py2exe': {'bundle_files': 1}},
>      console = [{'script': "script.py"}],
>      zipfile = None,
>  )
> [/code]
>
> error when the "script.exe" run
> [code]Exception in thread Thread-500 (most likely raised during
> interpreter shutdown):
> Traceback (most recent call last):
>   File "threading.pyc", line 522, in __bootstrap_inner
>   File "script.py", line 35, in run
>   File "subprocess.pyc", line 588, in __init__
> [/code]
>
> So the script.py run perfectly well under the py environment but if i
> use py2exe to make an exe then i get the error above.
> I read the note in the py2exe Fac regarding Popen, but i don't know if
> it's relevant in my case.

Try it with bundle_files option 3 instead of 1. Also what version of
py2exe are you using?

Mike



More information about the Python-list mailing list