module error in Vista -- works as administrator

Discussion in 'Python' started by sawilla, Apr 21, 2008.

  1. sawilla

    sawilla Guest

    First, I'm new to Python. I'm getting and error when I run Python
    2.5.2 as a regular user in Vista but not when I run Python as an
    administrator.

    For example, if I type "import numpy" after I launch python from an
    adminstrator-privileged command window it loads fine. However, from a
    regular-user command window I get:

    >>> import numpy

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named numpy

    Thanks in advance for your help.

    Reg
    sawilla, Apr 21, 2008
    #1
    1. Advertising

  2. sawilla

    John Machin Guest

    sawilla wrote:
    > First, I'm new to Python. I'm getting and error when I run Python
    > 2.5.2 as a regular user in Vista but not when I run Python as an
    > administrator.
    >
    > For example, if I type "import numpy" after I launch python from an
    > adminstrator-privileged command window it loads fine. However, from a
    > regular-user command window I get:
    >
    >>>> import numpy

    > Traceback (most recent call last):
    > File "<stdin>", line 1, in <module>
    > ImportError: No module named numpy
    >


    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
    John Machin, Apr 21, 2008
    #2
    1. Advertising

  3. sawilla

    sawilla Guest

    On Apr 21, 5:42 pm, John Machin <> 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
    sawilla, Apr 22, 2008
    #3
  4. sawilla

    John Machin Guest

    sawilla wrote:
    > On Apr 21, 5:42 pm, John Machin <> 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?
    John Machin, Apr 22, 2008
    #4
  5. sawilla

    sawilla Guest

    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 <> wrote:
    > sawillawrote:
    > > On Apr 21, 5:42 pm, John Machin <> 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 -
    sawilla, Apr 25, 2008
    #5
  6. sawilla

    sawilla Guest

    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 <> 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 <> wrote:
    >
    >
    >
    > > sawillawrote:
    > > > On Apr 21, 5:42 pm, John Machin <> 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 -
    sawilla, Apr 25, 2008
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    0
    Views:
    264
  2. Michael
    Replies:
    5
    Views:
    904
    Bjoern Schliessmann
    Nov 3, 2007
  3. Scott
    Replies:
    2
    Views:
    660
    Gregory A. Beamer
    Nov 13, 2008
  4. Isaac
    Replies:
    0
    Views:
    343
    Isaac
    Oct 20, 2010
  5. Shiva Ramani

    aspnet_regiis.exe on Vista - Run as Administrator

    Shiva Ramani, Apr 4, 2008, in forum: ASP .Net Web Services
    Replies:
    2
    Views:
    211
    Shiva Ramani
    Apr 4, 2008
Loading...

Share This Page