By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,383 Members | 2,075 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,383 IT Pros & Developers. It's quick & easy.

module error in Vista -- works as administrator

P: n/a
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
Jun 27 '08 #1
Share this Question
Share on Google+
5 Replies


P: n/a
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
Jun 27 '08 #2

P: n/a
On Apr 21, 5:42 pm, John Machin <sjmac...@lexicon.netwrote:
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
Jun 27 '08 #3

P: n/a
sawilla wrote:
On Apr 21, 5:42 pm, John Machin <sjmac...@lexicon.netwrote:
>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?

Jun 27 '08 #4

P: n/a
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...@lexicon.netwrote:
sawillawrote:
On Apr 21, 5:42 pm, John Machin <sjmac...@lexicon.netwrote:
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 quotedtext -

- Show quoted text -
Jun 27 '08 #5

P: n/a
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...@gmail.comwrote:
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...@lexicon.netwrote:
sawillawrote:
On Apr 21, 5:42 pm, John Machin <sjmac...@lexicon.netwrote:
>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 -
Jun 27 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.