Link to home
Start Free TrialLog in
Avatar of e-b
e-b

asked on

Compile Python Code

I have been searching around for a way to compile my python scripts beyon .pyc or .pyo files mainly because my company would like to distribute some applications however those byte code files are EASILY decompiled by using the disutils module and by any other methods... Also above the fact that a lot of it is still readable in a text editor.

At any rate, I don't want an answer like say it in the EULA or something dumb like that. I'm looking specifically for something to do code obfuscation or compile it to bit code if that is at all possible.

Thanks
Avatar of F. Dominicus
F. Dominicus
Flag of Germany image

How about py2exe?
http://starship.python.net/crew/theller/py2exe/

Regards
Friedrich
Avatar of e-b
e-b

ASKER

Well I am actually making a bundle for Mac but I believe the scripts for windows are still left in .py/.pyc format someone in the dlls or exe am I correct?
As you already mentioned, I'd obfuscate the code, just for the fun of it. :)


fibonacci = lambda x:map(lambda o:(map(lambda c:map(lambda l:
o.__setslice__(l[0],l[1],l[2]),([o[2]+3,o[2]+4,[o[0]]],[0,3,[o[1],
reduce(lambda x,o:x+o,o[:2]),o[2]+1]])),range(x)),o)[1],[[1,1,0]+
range(x)])[0][3:]

print fibonacci(20)
Avatar of e-b

ASKER

pYrania: Did you have to write that yourself or is there a program to obfuscate your code out there somewhere?
you need to write it yourself, else you wouldn't have fun while doing so, right?
Avatar of e-b

ASKER

writting that above code looks hardly any fun. and if you can write it then why can't someone else read it right?
but it's much more pain to fiddle with the obfuscated code than with plain python.
ASKER CERTIFIED SOLUTION
Avatar of EOL
EOL

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
If you need it compiled and translated into machine code like a traditional computer language, I think you should stay away from Python.

Does your code contain trade secrets or special algorithms developed by your company? We discovered that it did not hurt our interests at all actually giving the source code to the clients. They are really afraid to touch it anyways, and if it got out they would get sued. They appreciate having it, though in case our company somehow disappeared they could hire someone to maintain their system.
Hm, there's recent effords to port python to .Net. As far as I know IronPython is a python-interpreter written in C# that can compile python to .Net bytecode, and makes some .Net libraries accessible. Except math nothing from the python standard library is ported tough. Also you could decide to use jython, and compile your java-app to java-bytecode ( which is as nice to read as python bytecode, but ohwell... )
Avatar of e-b

ASKER

IronPython is still Alpha
That's true, and I don't think that's at the moment particulary good to use, but hopefully this will change pretty soon.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial

The McMillan Installer will produce a single .exe file in windows. This is probably the easiest solution to the issue of distribution and hiding the code.
There is a program called Jython. You can compile programs to java jar file. You can also code in python and java :).