En Thu, 31 Dec 2009 04:31:06 -0300, Marco Salden <marco.sal...@gmail.com>
escribió:
On Dec 30, 8:13 pm, Alan Harris-Reid <a...@baselinedata.co.uk> wrote:
Hi there,
In my sys.path (interpreter only, no application loaded), I have the
following strange entries...
'C:\\WINDOWS\\system32\\python31.zip'. This file does not exist
anywhere (although python31.dll does exist in \windows\system32\), where
could it have come from?
'C:\\program files\\python31\\lib\\plat-win'. There is no such
directory, although I can see that this has been added by the PYTHONPATH
varible in PyConfig.h (when is this loaded?)
Is there any way of removing these entries, or are they best left where
they are? (I am using Python 3.1 on WinXP)
Same for me: C:\Windows\system32\python25.zip is in the only non-"C:
\Python25" directroy&file in my sys.path (under Python 2.5).
No idea why it needs it. And also in my case the zip file isnt in that
location anyway. So also not 3K only or so.
But I have no issues with it (so far :-)), do you? Do you run into
problems because of this in the path?
Don't worry. The pythonNN.zip entry in sys.path is required to allow a
complete Python install to reside in a .zip file -- all modules used at
start time (os, ntpath, site...) must be importable before user code has a
chance of altering the import mechanisms. Tools like py2exe may take
advantage of that. See PEP 273: http://www.python.org/dev/peps/pep-0273/
Normally, such zip file doesn't exist, and Python just ignores its
sys.path entry; look at sys.path_importer_cache:
py> sys.path_importer_cache
...
'C:\\WINDOWS\\system32\\python26.zip': <imp.NullImporter object at
0x00AB0028>,
'd:\\apps\\python26\\lib\\plat-win': <imp.NullImporter object at
0x00AB0480>,
'd:\\apps\\python26\\lib\\site-packages': None,
...
Same for the plat-win directory; someone *could* use it for
Windows-specific stuff, but it doesn't exist by default and is simply
ignored.
Also, regarding PyConfig.h - is this read every time I start Python.exe?
No. It's a copy of the .h file used when Python was compiled from its C
sources. distutils may read it to gather some information. Unless you
compile the interpreter from source yourself, it serves no other purpose
than document the options originally used to compile it.
--
Gabriel Genellina
--
http://mail.python.org/mailman/listinfo/python-list