module error in Vista -- works as administrator

sawilla sawilla at gmail.com
Fri Apr 25 12:49:03 EDT 2008


I've discovered the cause of the problem. At some point previously,
Windows Vista had created a copy of the site-packages directory in a
virtual store for the user account. The easy-install.pth file in the
virtual store did not contain the same path information as the easy-
install.pth that the administrator account sees. I deleted the user's
Python25 directory in the virtual store and now the user's sys.path
contains all of the necessary paths.

Reg

On Apr 25, 12:04 pm, sawilla <sawi... at gmail.com> wrote:
> The access writes to easy-install.pth for regular users is read and
> execute.
>
> The output of sys.path for regular users is:
> ['', 'C:\\Program Files\\Python25\\lib\\site-packages\
> \setuptools-0.6c8-py2.5.eg
> g', 'C:\\Program Files\\Python25\\python25.zip', 'C:\\Program Files\
> \Python25\\D
> LLs', 'C:\\Program Files\\Python25\\lib', 'C:\\Program Files\\Python25\
> \lib\\pla
> t-win', 'C:\\Program Files\\Python25\\lib\\lib-tk', 'C:\\Program Files\
> \Python25
> ', 'C:\\Program Files\\Python25\\lib\\site-packages']
>
> The output of sys.path for the admin user is:
> ['', 'C:\\Program Files\\Python25\\lib\\site-packages\
> \setuptools-0.6c8-py2.5.eg
> g', 'C:\\Program Files\\Python25\\lib\\site-packages\\networkx-0.36-
> py2.5.egg',
> 'C:\\Program Files\\Python25\\lib\\site-packages\\numpy-1.0.4-py2.5-
> win32.egg',
> 'C:\\Program Files\\Python25\\lib\\site-packages\\scipy-0.6.0-py2.5-
> win32.egg',
> 'C:\\Program Files\\Python25\\lib\\site-packages\\matplotlib-0.91.2-
> py2.5-win32.
> egg', 'C:\\Program Files\\Python25\\lib\\site-packages\\dot2tex-2.7.0-
> py2.5.egg'
> , 'C:\\Program Files\\Python25\\lib\\site-packages\\pydot-1.0.2-
> py2.5.egg', 'C:\
> \Program Files\\Python25\\lib\\site-packages\\pyparsing-1.4.11-py2.5-
> win32.egg',
>  'C:\\Program Files\\Python25\\python25.zip', 'C:\\Program Files\
> \Python25\\DLLs
> ', 'C:\\Program Files\\Python25\\lib', 'C:\\Program Files\\Python25\
> \lib\\plat-w
> in', 'C:\\Program Files\\Python25\\lib\\lib-tk', 'C:\\Program Files\
> \Python25',
> 'C:\\Program Files\\Python25\\lib\\site-packages']
>
> The contents of easy-install.pth are:
> import sys; sys.__plen = len(sys.path)
> ./setuptools-0.6c8-py2.5.egg
> ./networkx-0.36-py2.5.egg
> ./numpy-1.0.4-py2.5-win32.egg
> ./scipy-0.6.0-py2.5-win32.egg
> ./matplotlib-0.91.2-py2.5-win32.egg
> ./dot2tex-2.7.0-py2.5.egg
> ./pydot-1.0.2-py2.5.egg
> ./pyparsing-1.4.11-py2.5-win32.egg
> import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:];
> p=getattr(sys,
> '__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)
>
> The location where numpy is found:>>> print os.path.abspath(numpy.__file__)
>
> C:\Program Files\Python25\lib\site-packages\numpy-1.0.4-py2.5-win32.egg
> \numpy\__
> init__.pyc
>
> So I believe I need to have the easy-install.pth file executed
> automatically for regular users but I don't know how to do this.
>
> Reg
>
> On Apr 21, 7:29 pm, John Machin <sjmac... at lexicon.net> wrote:
>
>
>
> > sawillawrote:
> > > On Apr 21, 5:42 pm, John Machin <sjmac... at lexicon.net> wrote:
> > >> Log on as administrator, start python in command window and do this:
>
> > >> import sys
> > >> sys.path # shows where python is looking for importables
> > >> import numpy
> > >> import os.path
> > >> print os.path.abspath(numpy.__file__) # shows where it found numpy
>
> > >> Log on as ordinary user, start python in command window and do this:
>
> > >> import sys
> > >> sys.path
> > >> # check how this is different from the admin's sys.path
>
> > >> If you can't see what to do after that, come back here with the output
> > >> from those steps.
>
> > >> HTH,
> > >> John
>
> > > That was a great help, thank you. I now see what is causing the
> > > problem but I don't know how to fix it. I used easy_install to install
> > > several packages. When I run Python from an administrator command
> > > window all of the directories in C:\Program Files\Python25\Lib\site-
> > > packages\easy-install.pth are added to the sys.path. When I run it as
> > > a regular user, those directories are not added to the sys.path and so
> > > Python can't find the modules.
>
> > > I know how to manually add those directories to Python's search path
> > > but then I'll need to update the path every time I install something.
> > > How do I get Python to automatically load the easy-install.pth file
> > > for the regular user account?
>
> > > Reg
>
> > """
> > If you can't see what to do after that, come back here with the output
> > from those steps.
> > """
> > in particular what is in sys.path for the non-admin user.
> > Also what are the access rights to the easy-install.pth file?- Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -




More information about the Python-list mailing list