[Tutor] how do i use p2exe
rdm at rcblue.com
Fri Nov 12 14:06:54 CET 2004
Am I the only one having trouble with this? Here's what I did, and what
I'm running Win XP and Python 2.3.4.
I installed py2exe from http://starship.python.net/crew/theller/py2exe/ .
I created setup.py. But in order to have it run I changed the 3rd line of
lookdir() to if look.lower() == "y":
I created the batch file, which I named test.bat. I used the line
cd\python23 as is, because that's where my python23 is.
When I run test.bat I get
"Current directory is: C:\Python23
Do you wish to see what's in directory?"
If I answer "y" I'm correctly shown what's in Python23, and asked,
"What is the file you want as an executable? (Type 'quit' to break out of
I type "weekday.py" a script I have in Python23.
The "DOS" (consol?) window closes immediately.
That's it. No creation of weekday.exe.
Have I done something wrong. Or what?
rdm at rcblue.com
At 19:59 11/9/2004, Jacob S. wrote:
>This is what I did.
>I'm using Windows XP, but it would work for any other windows version...
>1) Take code below and copy into file named "setup.py".
>### Start of Code ###
>from distutils.core import setup
> print "Current directory is: %s" % os.getcwd()
> look = raw_input('Do you wish to see what\'s in directory? ')
> if look.lower() in m:
> print "\n".join(os.listdir(os.getcwd()))
> m = ['y','ye','yes','yep','okay','affirmative','sure']
> ask = 'y'
> while ask not in m:
> di = raw_input('What directory do you want? ')
> ask = raw_input('Do you want this directory? ')
>listed = 
> ask = raw_input('What is the file you want as an executable? (Type
>\'quit\' to break out of loop) ')
> if ask == 'quit' or ask == 'stop' or ask == '':
>setup(console = listed)
>### End of Code ###
>2) Take following code and save as a batch file. You will have to change the
>second line to change the directory to your python dir
>rem Start of Code
>start python setup.py py2exe
>rem End of Code
>3) Run the batch file. It will ask you which directory the script file is
>in. That would be the file that you're trying to make and executable. Then,
>when you decide which directory it is in, it will ask you the name of the
>file. You type in the name. If you want more than one file, you can type in
>another file name in the next prompt, else you can type in 'quit' or 'stop'
>or just hit enter. When all is done and the shell window closes, you can
>check out the directory that you chose. In that directory, there will be two
>new folders. One is labeled build. That folder is not necessary to run your
>executable and can be deleted. I usually delete it. The other is labeled
>dist. It contains the files needed for your program. Your program will have
>the same name, just with a exe extension instead of a py extension. Send the
>whole folder on to your students, and they can double-click on the exe file,
>and it will run your script as if you double-clicked it in Windows Explorer.
>Also, in your code (which I will try to rewrite for fun on my own (no
>offense)) you might try this instead:
>print "".join(["\t","\\"*7," ","\\"*4," ","\\"*6," ","\\"*7," ","\\"*2,"
>","\\"*10," ","\\"*2," ","\\"*8,"\n"])
>Ignore the underline and blue if it shows up in your email thing.
>This just shows that you can multiply a particular string by an integer to
>Hope all this helps,
More information about the Tutor