[EMAIL PROTECTED] a écrit :
I have a large body of Python code which runs on many different (Unix)
machines concurrently. Part of the code lives in one place, but most
of it lives in directories which I find at runtime. I only have one
copy of each Python source file and I think I'm hitting a race
condition where two hosts attempt to import the same module at the
same time. My import fails on one of the machines and the following
exception is thrown:
EOFError: EOF read where object expected
My hypothesis is that there's contention between the two (or more)
hosts when the module's .pyc file is generated.
Possible solutions I see:
1) Running a cron job before my code executes which compiles all the
python source first.
If you package your apps using setup, pyc should be automatically
generated. Don't know if it can apply to your problem. But surely I'd go
this way (ie : automating pyc creation one way or another).
2) Making separate copies of all the .py files for each host running
the code - I'd rather not do this, it seems like a big pain.
yeps.
3) Inhibiting the generation of .pyc files altogether if that's even
possible - I saw a PEP for a possible -R flag (http://www.python.org/
dev/peps/pep-0304/) but I don't think it has been added to a released
version of Python yet plus I am stuck with Python 2.4 for the time
being.
Not having pyc means the modules will have to be recompiled on each
import. Not sure this is what you want.
--
http://mail.python.org/mailman/listinfo/python-list