python 2.3.1 issues DeprecationWarning for FCNTL when importing tempfile

Pierre Rouleau prouleau at impathnetworks.com
Fri Oct 3 15:36:52 EDT 2003


Pierre Rouleau wrote:

> 
>>
>> It's curious that your Python executable is apparently in D:\dev\python\,
>> but that fcntl.py is getting loaded from c:\python23\lib\.  Your setup 
>> may
>> be too complicated to understand <wink>.
>>
> I know that /dev is a bad name (in my case on Windows its the directory 
> for development, not device).  The  but i have a set of pathon scripts 
> under development.  The PYTHONPATH environment variable is set to make 
> sure that it looks into it.  If i remove d:/dev/python from the 
> PYTHONPATH and import tempfile i get the same results.
> 
> C:\Python23\Lib>set PYTHONPATH=
> 
> C:\Python23\Lib>python
> Python 2.3.1 (#47, Sep 23 2003, 23:47:32) [MSC v.1200 32 bit (Intel)] on 
> win32
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import tempfile
> fcntl.py:7: DeprecationWarning: the FCNTL module is deprecated; please 
> use fcntl
>   DeprecationWarning)
>  >>>
> 
>>
>>> ...
>>> I am starting to wonder if the problem is caused by a package that was
>>> installed on one set of machines and not the other.
>>
>>
>>
>> Do what you did above but add -vv to the command line, like so:
>>
>>     python -vv
>>
>> Then "import tempfile" when a prompt finally appears.  -vv sprays an
>> enormous amount of info to the screen about (among other things) the 
>> steps
>> Python takes to try to satisfy imports.
> 
> 
> 
> I did that. Helped solve the problem:  fcntl.pyc was present and that 
> was causing the problem!
> 
> Before deleting fcntl.pyc:
> 
> python -vv
> ....
> ....
> 
>  >>> import tempfile
> # trying tempfile.pyd
> # trying tempfile.dll
> # trying tempfile.py
> # tempfile.pyc matches tempfile.py
> import tempfile # precompiled from tempfile.pyc
> import errno # builtin
> # trying random.pyd
> # trying random.dll
> # trying random.py
> # random.pyc matches random.py
> import random # precompiled from random.pyc
> import math # builtin
> import _random # builtin
> import time # builtin
> # trying fcntl.pyd
> # trying fcntl.dll
> # trying fcntl.py
> # trying fcntl.pyw
> # trying fcntl.pyc
> import fcntl # precompiled from fcntl.pyc
> fcntl.py:7: DeprecationWarning: the FCNTL module is deprecated; please 
> use fcntl
>   DeprecationWarning)
> import thread # builtin
> 
> Then I deleted fcntl.pyc:
> 
> C:\Python23\Lib>del fcntl.pyc
> 
> C:\Python23\Lib>python
> Python 2.3.1 (#47, Sep 23 2003, 23:47:32) [MSC v.1200 32 bit (Intel)] on 
> win32
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import tempfile
>  >>>
> 
> The problem is SOLVED!
> ^^^^^^^^^^^^^^^^^^^^^^
> 
> Now, I looked at the C/Python23/Lib files before deleting fcntl.pyc and 
> this is what i had:
> 
> C:\Python23\Lib>lt -l [fF]*.py*
> -rwxrwxrwa   1 Administrators  None     4709 Jan 21  2001 fpformat.py
> -rwxrwxrwa   1 Administrators  None      418 May  9  2001 FCNTL.py
> -rwxrwxrwa   1 Administrators  None    27589 Jun  3  2002 ftplib.py
> -rwxrwxrwa   1 Administrators  None    12732 Jan  8  2003 fileinput.py
> -rwxrwxrwa   1 Administrators  None    15548 Feb 27  2003 formatter.py
> -rwxrwxrwa   1 Administrators  None     3126 Jul 13 18:06 fnmatch.py
> -rwxrwxrwa   1 Administrators  None    10173 Sep  2 07:47 filecmp.py
> -rwxrwxrwa   1 Administrators  None     3637 Sep 29 12:01 fnmatch.pyc
> -rwxrwxrwa   1 Administrators  None    11652 Sep 29 12:01 filecmp.pyc
> -rwxrwxrwa   1 Administrators  None      583 Sep 30 10:28 fcntl.pyc
> 
> 
> What is strange is that it seems that the import of FCNTL.py is case 
> insensitive, where my system does not make it case insensitive (i dont 
> have PYTHONCASEOK set).
> 
>>
>> Also
>>
>>     import sys
>>     print sys.path
>>
>>
> C:\Python23\Lib>python
> Python 2.3.1 (#47, Sep 23 2003, 23:47:32) [MSC v.1200 32 bit (Intel)] on 
> win32
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import sys
>  >>> for theDir in sys.path: print theDir
> ...
> 
> C:\WINNT\System32\python23.zip
> C:\Python23\lib\site-packages\Pythonwin
> C:\Python23\lib\site-packages\win32
> C:\Python23\lib\site-packages\win32\lib
> C:\Python23\lib\site-packages
> c:\python23\DLLs
> c:\python23\lib
> c:\python23\lib\plat-win
> c:\python23\lib\lib-tk
> c:\python23
>  >>>
> 
> 
> So, the problem got solved by deleting the fcntl.pyc.  I don't really 
> understand why it solved the problem unless the .pyc was from an old 
> version (however when i installed Python 2.3 and 2.3.1, I created a new 
> directory).

Actually, i do understand that now.  The import worked because fcntl.pyc 
existed.  What I don't understand is why there was a file called 
fcntl.pyc in the directory when fcntl.py was not there (even though the 
source file FCNTL.py is present).

> 
> Tim and Michael, Thanks for your help!
> 





More information about the Python-list mailing list