On May 22, 2:44 pm, Hans Nowak <[EMAIL PROTECTED]> wrote: > TkNeo wrote: > > I am trying to upgrade from python 2.3 to 2.4 but not all machines can > > be upgraded. Can you guys tell me if this scenario is possible. > > > 1. Any machine that uses .py files that use libraries that require 2.4 > > will have 2.4 on it. > > 2. rest of the machines will have 2.3 > > > now there is a shared drive. lets say i write a new library called > > testlib.py and put it on the shared drive .. when a script uses it > > from a 2.4 based machine, it will generate a testlib.pyc and leave it > > on the shared drive. going forward that .pyc is used until the > > original lib is changed. now lets say a 2.3 based machine is trying to > > use that lib. it will try to use that pyc file which was compiled by > > py2.4. will it work or crash ? > > It should work, as long as the original .py file is still there. Each Python > version will check for a .pyc file *corresponding to that version* (e.g. > Python > 2.4 will look for a .pyc file compiled with 2.4), and create one if it doesn't > exist, overwriting any existing .pyc file in the process. > > If the original .py file is *not* there, it will most likely not work. If you > try to import a .pyc file with the wrong version number, you get something > like > this: > > >>> import foo > Traceback (most recent call last): > File "<stdin>", line 1, in ? > ImportError: Bad magic number in foo.pyc > > I'm not sure what would happen if multiple Pythons try to write a .pyc file at > the same time, though... > > -- > Hans Nowak (zephyrfalcon at gmail dot org)http://4.flowsnake.org/
The original .py will always be there but you know what, multiple python versions from different computers do access that one library at the same time. Anyone know a possible solution ? -- http://mail.python.org/mailman/listinfo/python-list