Can we get rid of Lib/FCNTL.py for 2.4? AFAICT, its existence does nothing but create obscure problems for Windows users. For an old example, in tempfile.py:
try: import fcntl as _fcntl # If PYTHONCASEOK is set on Windows, stinking FCNTL.py gets # imported, and we don't get an ImportError then. Provoke # an AttributeError instead in that case. _fcntl.fcntl except (ImportError, AttributeError):
For an example from yesterday:
http://mail.zope.org/pipermail/zope-dev/2004-July/023463.html
I don't know all the ways this happens, but a surprising number of Windows users end up with a file named:
fcntl.pyc
in their Lib directories, and then tons of things break, because imports of fcntl pick that up instead of getting the ImportError cross-platform code expects on Windows.
I know that one persistent user traced this to one of the Python-aware installer-builders creating allupper.pyc files from ALLUPPER.py files on Windows, but it's not worth the effort of tracking this down: since the day it was introduced, FCNTL.py has generated a deprecation warning telling you to use fcntl instead. The builtin fcntl was introduced in 1.5a3. Enough already <wink>.
Can we get rid of Lib/FCNTL.py for 2.4? AFAICT, its existence does nothing but create obscure problems for Windows users.
+1
--Guido van Rossum (home page: http://www.python.org/~guido/)