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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> wrote: > > > > > sawillawrote: > > > On Apr 21, 5:42 pm, John Machin <[EMAIL PROTECTED]> 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 - -- http://mail.python.org/mailman/listinfo/python-list