I've finished my first Python program that might have future use for something of importance, (rather than just

print('Hello, world.')

), however, in order to distribute this script I need to convert my script to an executable file so they aren't forced to download Python to view the script in action. However, such programs as py2exe and ExeMaker do not (as of yet) support Python 3.0.1 due to some differences in the code/syntax as I'm sure you all know.

So my question is, how can I convert my Python 3.0.1 .py or .pyc file to an .exe file?

Backport it to 2.6 with 3to2 and then use py2exe? :P

I dunno, sounds like you're SOL

Portable Python installs a portable version of Python right on an inexpensive USB flash drive (plan on 150MB for each version). You can use the flash drive now on Windows computers that do not have Python installed. It comes in Python25, Python26 and Python30 flavors. See:
http://www.portablepython.com/releases/

In your case download Portable Python 1.1 based on Python 3.0.1 and install it on your flash drive. Then load your .py or better .pyc file (python byte code file to protect your source a little) and run (you may need a little batch file to do this) it from the flash drive. That installation also comes with the PyScripter IDE, a great program to write and run your python code.

Portable Python installs a portable version of Python right on an inexpensive USB flash drive (plan on 150MB for each version). You can use the flash drive now on Windows computers that do not have Python installed. It comes in Python25, Python26 and Python30 flavors. See:
http://www.portablepython.com/releases/

In your case download Portable Python 1.1 based on Python 3.0.1 and install it on your flash drive. Then load your .py or better .pyc file (python byte code file to protect your source a little) and run (you may need a little batch file to do this) it from the flash drive. That installation also comes with the PyScripter IDE, a great program to write and run your python code.

Thanks for the suggestion, but I already have Portable Python installed on my flash drive, however, some of the people I wish to distribute the script to are too far away to use a flash drive with, and aren't willing to/can't for one reason or another, download Python, Portable or otherwise.

If you know C, you can make a bootstrap app that embeds the interpreter and then runs your script. I think it's just a few lines of code, but you would have to distribute python30.dll alongside the parts of the standard library that your program uses.

if you produce simple example it will help alot including me. I believe it is easier to make exe with C/C++ than python. So if it is that easier I would prefer it!

Lots of good folks have talked this over. It's fun to explore the few new things introduced in Python3, but if you want to produce programs, you better stick with the production level Python25 or now Python26 versions.

if you produce simple example it will help alot including me. I believe it is easier to make exe with C/C++ than python. So if it is that easier I would prefer it!

I tried to, but I got stuck at getting it to load the standard library from python30.zip. I may look deeper into it at some later point but for now I have to get back to working on my toolkit. If you want the source code I have so far I can send it to you.

Lots of good folks have talked this over. It's fun to explore the few new things introduced in Python3, but if you want to produce programs, you better stick with the production level Python25 or now Python26 versions.

Not totally my opinion. If everyone just held off from python 3 then there would be no incentive for library developers to port to 3, other than "fun".

I think alot of people go for fun and some like me are holding back due to lack of libraries fo Python3. I'm still with my 2.5

Anyway, just for wxpython users, there are new binaries for 2.6 and obviously all other except 3, fixing the wxpython problems for manifest once Scru pointed out :)

This article has been dead for over six months. Start a new discussion instead.