[Python-Dev] Kill FCNTL.py
Tim Peters
tim.one at comcast.net
Sat Jul 17 07:50:45 CEST 2004
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>.
More information about the Python-Dev
mailing list