Python byte-compiled and optimized code

I am working on deploying Python on VxWorks platform as a part of project for my company. Accordingly, I would like to know couple of things from python's core-developers. Although I think I already know the answers for most of the questions, we need a confirmation from the community 1) Is the byte-compiled .pyc file and optimized .pyo file platform-independent?(including python versions 3.x) *If yes, is it guaranteed to stay that way in future?* 2) If the the generation of .pyc file fails (say, due to write protected area), does that stop the script execution? 3) Is it possible to redirect the location of the generation of .pyc files to other than that of the corresponding .py files? Regards, Swapnil

On Wed, Oct 7, 2009 at 10:34 AM, Swapnil Talekar <swapnil.st@gmail.com> wrote:
1) Is the byte-compiled .pyc file and optimized .pyo file platform-independent?(including python versions 3.x)
Yes.
If yes, is it guaranteed to stay that way in future?
Yes.
2) If the the generation of .pyc file fails (say, due to write protected area), does that stop the script execution?
No. It only means the bytecode won't be cached.
3) Is it possible to redirect the location of the generation of .pyc files to other than that of the corresponding .py files?
I think some support for this has been developed, at least experimentally, but I'm not sure if it's part of a stable release or not. It's more likely in Python 3.x, which I'm significantly less familiar with. -Fred -- Fred L. Drake, Jr. <fdrake at gmail.com> "Chaos is the score upon which reality is written." --Henry Miller

You might be interested in the new PYTHONDONTWRITEBYTECODE environment variable supported as of Python 2.6. I personally think it is a great improvement. :-) Regards, Zooko

On Wed, Oct 7, 2009 at 10:34 AM, Swapnil Talekar <swapnil.st@gmail.com> wrote:
1) Is the byte-compiled .pyc file and optimized .pyo file platform-independent?(including python versions 3.x)
Yes.
If yes, is it guaranteed to stay that way in future?
Yes.
2) If the the generation of .pyc file fails (say, due to write protected area), does that stop the script execution?
No. It only means the bytecode won't be cached.
3) Is it possible to redirect the location of the generation of .pyc files to other than that of the corresponding .py files?
I think some support for this has been developed, at least experimentally, but I'm not sure if it's part of a stable release or not. It's more likely in Python 3.x, which I'm significantly less familiar with. -Fred -- Fred L. Drake, Jr. <fdrake at gmail.com> "Chaos is the score upon which reality is written." --Henry Miller

You might be interested in the new PYTHONDONTWRITEBYTECODE environment variable supported as of Python 2.6. I personally think it is a great improvement. :-) Regards, Zooko
participants (5)
-
Antoine Pitrou
-
Fred Drake
-
Swapnil Talekar
-
Terry Reedy
-
Zooko O'Whielacronx